import { Document, Types } from 'mongoose';
export declare enum PhoneNumberStatus {
    IN_USE = "in-use",
    RELEASED = "released",
    SUSPENDED = "suspended"
}
export declare enum AddressRequirement {
    NONE = "none",
    LOCAL = "local",
    FOREIGN = "foreign"
}
export declare enum ReceiveMode {
    VOICE = "voice",
    SIP = "sip"
}
declare class Capabilities {
    voice: boolean;
    sms: boolean;
    mms: boolean;
    fax: boolean;
}
export type IncomingPhoneNumberDocument = IncomingPhoneNumber & Document;
export declare class IncomingPhoneNumber {
    salonId: Types.ObjectId;
    sid: string;
    accountSid: string;
    phoneNumber: string;
    isoCountry?: string;
    numberType?: string;
    friendlyName?: string;
    origin?: string;
    addressRequirements?: AddressRequirement;
    addressSid?: string;
    emergencyStatus?: string;
    emergencyAddressSid?: string;
    emergencyAddressStatus?: string;
    capabilities?: Capabilities;
    smsApplicationSid?: string;
    smsUrl?: string;
    smsMethod?: string;
    smsFallbackUrl?: string;
    smsFallbackMethod?: string;
    voiceApplicationSid?: string;
    voiceUrl?: string;
    voiceMethod?: string;
    voiceFallbackUrl?: string;
    voiceFallbackMethod?: string;
    voiceCallerIdLookup?: boolean;
    voiceReceiveMode?: ReceiveMode;
    statusCallback?: string;
    statusCallbackMethod?: string;
    bundleSid?: string;
    trunkSid: string | null;
    status: PhoneNumberStatus;
    beta: boolean;
    apiVersion?: string;
    uri?: string;
    identitySid?: string;
    twilioCreatedAt?: Date;
    twilioUpdatedAt?: Date;
    isActive: boolean;
    lastSyncedAt?: Date;
    syncError?: string;
    raw: Record<string, any>;
}
export declare const IncomingPhoneNumberSchema: import("mongoose").Schema<IncomingPhoneNumber, import("mongoose").Model<IncomingPhoneNumber, any, any, any, Document<unknown, any, IncomingPhoneNumber, any, {}> & IncomingPhoneNumber & {
    _id: Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, IncomingPhoneNumber, Document<unknown, {}, import("mongoose").FlatRecord<IncomingPhoneNumber>, {}, import("mongoose").DefaultSchemaOptions> & import("mongoose").FlatRecord<IncomingPhoneNumber> & {
    _id: Types.ObjectId;
} & {
    __v: number;
}>;
export {};
