import * as z from "zod";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * Type of phone number
 */
export declare enum PhoneNumberType {
    Personal = "personal",
    Work = "work",
    Mobile = "mobile",
    Home = "home",
    Unknown = "unknown",
    Other = "other",
    UnmappedValue = "unmapped_value"
}
/**
 * Type of phone number
 */
export type PhoneNumberTypeOpen = OpenEnum<typeof PhoneNumberType>;
export type PhoneNumber = {
    /**
     * Phone number string
     */
    phone?: string | null | undefined;
    /**
     * Type of phone number
     */
    type?: PhoneNumberTypeOpen | null | undefined;
};
/** @internal */
export declare const PhoneNumberType$inboundSchema: z.ZodType<PhoneNumberTypeOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const PhoneNumberType$outboundSchema: z.ZodType<PhoneNumberTypeOpen, z.ZodTypeDef, PhoneNumberTypeOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PhoneNumberType$ {
    /** @deprecated use `PhoneNumberType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PhoneNumberTypeOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `PhoneNumberType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PhoneNumberTypeOpen, z.ZodTypeDef, PhoneNumberTypeOpen>;
}
/** @internal */
export declare const PhoneNumber$inboundSchema: z.ZodType<PhoneNumber, z.ZodTypeDef, unknown>;
/** @internal */
export type PhoneNumber$Outbound = {
    phone?: string | null | undefined;
    type?: string | null | undefined;
};
/** @internal */
export declare const PhoneNumber$outboundSchema: z.ZodType<PhoneNumber$Outbound, z.ZodTypeDef, PhoneNumber>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PhoneNumber$ {
    /** @deprecated use `PhoneNumber$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PhoneNumber, z.ZodTypeDef, unknown>;
    /** @deprecated use `PhoneNumber$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PhoneNumber$Outbound, z.ZodTypeDef, PhoneNumber>;
    /** @deprecated use `PhoneNumber$Outbound` instead. */
    type Outbound = PhoneNumber$Outbound;
}
export declare function phoneNumberToJSON(phoneNumber: PhoneNumber): string;
export declare function phoneNumberFromJSON(jsonString: string): SafeParseResult<PhoneNumber, SDKValidationError>;
//# sourceMappingURL=phonenumber.d.ts.map