import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * The type of phone number
 */
export declare const PhoneNumberType: {
    readonly Primary: "primary";
    readonly Secondary: "secondary";
    readonly Home: "home";
    readonly Work: "work";
    readonly Office: "office";
    readonly Mobile: "mobile";
    readonly Assistant: "assistant";
    readonly Fax: "fax";
    readonly DirectDialIn: "direct-dial-in";
    readonly Personal: "personal";
    readonly Billing: "billing";
    readonly Other: "other";
};
/**
 * The type of phone number
 */
export type PhoneNumberType = ClosedEnum<typeof PhoneNumberType>;
export type PhoneNumber = {
    /**
     * Unique identifier of the phone number
     */
    id?: string | null | undefined;
    /**
     * The country code of the phone number, e.g. +1
     */
    countryCode?: string | null | undefined;
    /**
     * The area code of the phone number, e.g. 323
     */
    areaCode?: string | null | undefined;
    /**
     * The phone number
     */
    number: string;
    /**
     * The extension of the phone number
     */
    extension?: string | null | undefined;
    /**
     * The type of phone number
     */
    type?: PhoneNumberType | null | undefined;
};
/** @internal */
export declare const PhoneNumberType$inboundSchema: z.ZodNativeEnum<typeof PhoneNumberType>;
/** @internal */
export declare const PhoneNumberType$outboundSchema: z.ZodNativeEnum<typeof PhoneNumberType>;
/** @internal */
export declare const PhoneNumber$inboundSchema: z.ZodType<PhoneNumber, z.ZodTypeDef, unknown>;
/** @internal */
export type PhoneNumber$Outbound = {
    id?: string | null | undefined;
    country_code?: string | null | undefined;
    area_code?: string | null | undefined;
    number: string;
    extension?: string | null | undefined;
    type?: string | null | undefined;
};
/** @internal */
export declare const PhoneNumber$outboundSchema: z.ZodType<PhoneNumber$Outbound, z.ZodTypeDef, PhoneNumber>;
export declare function phoneNumberToJSON(phoneNumber: PhoneNumber): string;
export declare function phoneNumberFromJSON(jsonString: string): SafeParseResult<PhoneNumber, SDKValidationError>;
//# sourceMappingURL=phonenumber.d.ts.map