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";
export type AccountAddressSchemas4 = {};
/**
 * The source value of the ISO 3166-1 alpha-2 code of the country.
 */
export type AccountAddressSchemasSourceValue = AccountAddressSchemas4 | string | number | boolean | Array<any>;
/**
 * The ISO 3166-1 alpha-2 code of the country.
 */
export declare enum AccountAddressSchemasValue {
    Af = "AF",
    Al = "AL",
    Dz = "DZ",
    As = "AS",
    Ad = "AD",
    Ao = "AO",
    Ai = "AI",
    Aq = "AQ",
    Ag = "AG",
    Ar = "AR",
    Am = "AM",
    Aw = "AW",
    Au = "AU",
    At = "AT",
    Az = "AZ",
    Bs = "BS",
    Bh = "BH",
    Bd = "BD",
    Bb = "BB",
    By = "BY",
    Be = "BE",
    Bz = "BZ",
    Bj = "BJ",
    Bm = "BM",
    Bt = "BT",
    Bo = "BO",
    Bq = "BQ",
    Ba = "BA",
    Bw = "BW",
    Bv = "BV",
    Br = "BR",
    Io = "IO",
    Bn = "BN",
    Bg = "BG",
    Bf = "BF",
    Bi = "BI",
    Kh = "KH",
    Cm = "CM",
    Ca = "CA",
    Cv = "CV",
    Ky = "KY",
    Cf = "CF",
    Td = "TD",
    Cl = "CL",
    Cn = "CN",
    Cx = "CX",
    Cc = "CC",
    Co = "CO",
    Km = "KM",
    Cg = "CG",
    Cd = "CD",
    Ck = "CK",
    Cr = "CR",
    Hr = "HR",
    Cu = "CU",
    Cw = "CW",
    Cy = "CY",
    Cz = "CZ",
    Ci = "CI",
    Dk = "DK",
    Dj = "DJ",
    Dm = "DM",
    Do = "DO",
    Ec = "EC",
    Eg = "EG",
    Sv = "SV",
    Gq = "GQ",
    Er = "ER",
    Ee = "EE",
    Et = "ET",
    Fk = "FK",
    Fo = "FO",
    Fj = "FJ",
    Fi = "FI",
    Fr = "FR",
    Gf = "GF",
    Pf = "PF",
    Tf = "TF",
    Ga = "GA",
    Gm = "GM",
    Ge = "GE",
    De = "DE",
    Gh = "GH",
    Gi = "GI",
    Gr = "GR",
    Gl = "GL",
    Gd = "GD",
    Gp = "GP",
    Gu = "GU",
    Gt = "GT",
    Gg = "GG",
    Gn = "GN",
    Gw = "GW",
    Gy = "GY",
    Ht = "HT",
    Hm = "HM",
    Va = "VA",
    Hn = "HN",
    Hk = "HK",
    Hu = "HU",
    Is = "IS",
    In = "IN",
    Id = "ID",
    Ir = "IR",
    Iq = "IQ",
    Ie = "IE",
    Im = "IM",
    Il = "IL",
    It = "IT",
    Jm = "JM",
    Jp = "JP",
    Je = "JE",
    Jo = "JO",
    Kz = "KZ",
    Ke = "KE",
    Ki = "KI",
    Kp = "KP",
    Kr = "KR",
    Kw = "KW",
    Kg = "KG",
    La = "LA",
    Lv = "LV",
    Lb = "LB",
    Ls = "LS",
    Lr = "LR",
    Ly = "LY",
    Li = "LI",
    Lt = "LT",
    Lu = "LU",
    Mo = "MO",
    Mk = "MK",
    Mg = "MG",
    Mw = "MW",
    My = "MY",
    Mv = "MV",
    Ml = "ML",
    Mt = "MT",
    Mh = "MH",
    Mq = "MQ",
    Mr = "MR",
    Mu = "MU",
    Yt = "YT",
    Mx = "MX",
    Fm = "FM",
    Md = "MD",
    Mc = "MC",
    Mn = "MN",
    Me = "ME",
    Ms = "MS",
    Ma = "MA",
    Mz = "MZ",
    Mm = "MM",
    Na = "NA",
    Nr = "NR",
    Np = "NP",
    Nl = "NL",
    Nc = "NC",
    Nz = "NZ",
    Ni = "NI",
    Ne = "NE",
    Ng = "NG",
    Nu = "NU",
    Nf = "NF",
    Mp = "MP",
    No = "NO",
    Om = "OM",
    Pk = "PK",
    Pw = "PW",
    Ps = "PS",
    Pa = "PA",
    Pg = "PG",
    Py = "PY",
    Pe = "PE",
    Ph = "PH",
    Pn = "PN",
    Pl = "PL",
    Pt = "PT",
    Pr = "PR",
    Qa = "QA",
    Ro = "RO",
    Ru = "RU",
    Rw = "RW",
    Re = "RE",
    Bl = "BL",
    Sh = "SH",
    Kn = "KN",
    Lc = "LC",
    Mf = "MF",
    Pm = "PM",
    Vc = "VC",
    Ws = "WS",
    Sm = "SM",
    St = "ST",
    Sa = "SA",
    Sn = "SN",
    Rs = "RS",
    Sc = "SC",
    Sl = "SL",
    Sg = "SG",
    Sx = "SX",
    Sk = "SK",
    Si = "SI",
    Sb = "SB",
    So = "SO",
    Za = "ZA",
    Gs = "GS",
    Ss = "SS",
    Es = "ES",
    Lk = "LK",
    Sd = "SD",
    Sr = "SR",
    Sj = "SJ",
    Sz = "SZ",
    Se = "SE",
    Ch = "CH",
    Sy = "SY",
    Tw = "TW",
    Tj = "TJ",
    Tz = "TZ",
    Th = "TH",
    Tl = "TL",
    Tg = "TG",
    Tk = "TK",
    To = "TO",
    Tt = "TT",
    Tn = "TN",
    Tr = "TR",
    Tm = "TM",
    Tc = "TC",
    Tv = "TV",
    Ug = "UG",
    Ua = "UA",
    Ae = "AE",
    Gb = "GB",
    Us = "US",
    Um = "UM",
    Uy = "UY",
    Uz = "UZ",
    Vu = "VU",
    Ve = "VE",
    Vn = "VN",
    Vg = "VG",
    Vi = "VI",
    Wf = "WF",
    Eh = "EH",
    Ye = "YE",
    Zm = "ZM",
    Zw = "ZW"
}
/**
 * The ISO 3166-1 alpha-2 code of the country.
 */
export type AccountAddressSchemasValueOpen = OpenEnum<typeof AccountAddressSchemasValue>;
/**
 * The country code
 */
export type Country = {
    /**
     * The source value of the ISO 3166-1 alpha-2 code of the country.
     */
    sourceValue?: AccountAddressSchemas4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The ISO 3166-1 alpha-2 code of the country.
     */
    value?: AccountAddressSchemasValueOpen | null | undefined;
};
export type AccountAddress4 = {};
/**
 * The source value of the location type.
 */
export type AccountAddressSourceValue = AccountAddress4 | string | number | boolean | Array<any>;
/**
 * The type of the location.
 */
export declare enum AccountAddressValue {
    Home = "home",
    Work = "work",
    UnmappedValue = "unmapped_value"
}
/**
 * The type of the location.
 */
export type AccountAddressValueOpen = OpenEnum<typeof AccountAddressValue>;
/**
 * The location type
 */
export type LocationType = {
    /**
     * The source value of the location type.
     */
    sourceValue?: AccountAddress4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The type of the location.
     */
    value?: AccountAddressValueOpen | null | undefined;
};
export type AccountAddress = {
    city?: string | null | undefined;
    /**
     * The country code
     */
    country?: Country | null | undefined;
    /**
     * The location type
     */
    locationType?: LocationType | null | undefined;
    state?: string | null | undefined;
    street1?: string | null | undefined;
    street2?: string | null | undefined;
    zipCode?: string | null | undefined;
};
/** @internal */
export declare const AccountAddressSchemas4$inboundSchema: z.ZodType<AccountAddressSchemas4, z.ZodTypeDef, unknown>;
/** @internal */
export type AccountAddressSchemas4$Outbound = {};
/** @internal */
export declare const AccountAddressSchemas4$outboundSchema: z.ZodType<AccountAddressSchemas4$Outbound, z.ZodTypeDef, AccountAddressSchemas4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountAddressSchemas4$ {
    /** @deprecated use `AccountAddressSchemas4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountAddressSchemas4, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountAddressSchemas4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountAddressSchemas4$Outbound, z.ZodTypeDef, AccountAddressSchemas4>;
    /** @deprecated use `AccountAddressSchemas4$Outbound` instead. */
    type Outbound = AccountAddressSchemas4$Outbound;
}
export declare function accountAddressSchemas4ToJSON(accountAddressSchemas4: AccountAddressSchemas4): string;
export declare function accountAddressSchemas4FromJSON(jsonString: string): SafeParseResult<AccountAddressSchemas4, SDKValidationError>;
/** @internal */
export declare const AccountAddressSchemasSourceValue$inboundSchema: z.ZodType<AccountAddressSchemasSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type AccountAddressSchemasSourceValue$Outbound = AccountAddressSchemas4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const AccountAddressSchemasSourceValue$outboundSchema: z.ZodType<AccountAddressSchemasSourceValue$Outbound, z.ZodTypeDef, AccountAddressSchemasSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountAddressSchemasSourceValue$ {
    /** @deprecated use `AccountAddressSchemasSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountAddressSchemasSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountAddressSchemasSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountAddressSchemasSourceValue$Outbound, z.ZodTypeDef, AccountAddressSchemasSourceValue>;
    /** @deprecated use `AccountAddressSchemasSourceValue$Outbound` instead. */
    type Outbound = AccountAddressSchemasSourceValue$Outbound;
}
export declare function accountAddressSchemasSourceValueToJSON(accountAddressSchemasSourceValue: AccountAddressSchemasSourceValue): string;
export declare function accountAddressSchemasSourceValueFromJSON(jsonString: string): SafeParseResult<AccountAddressSchemasSourceValue, SDKValidationError>;
/** @internal */
export declare const AccountAddressSchemasValue$inboundSchema: z.ZodType<AccountAddressSchemasValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const AccountAddressSchemasValue$outboundSchema: z.ZodType<AccountAddressSchemasValueOpen, z.ZodTypeDef, AccountAddressSchemasValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountAddressSchemasValue$ {
    /** @deprecated use `AccountAddressSchemasValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountAddressSchemasValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountAddressSchemasValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountAddressSchemasValueOpen, z.ZodTypeDef, AccountAddressSchemasValueOpen>;
}
/** @internal */
export declare const Country$inboundSchema: z.ZodType<Country, z.ZodTypeDef, unknown>;
/** @internal */
export type Country$Outbound = {
    source_value?: AccountAddressSchemas4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const Country$outboundSchema: z.ZodType<Country$Outbound, z.ZodTypeDef, Country>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Country$ {
    /** @deprecated use `Country$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Country, z.ZodTypeDef, unknown>;
    /** @deprecated use `Country$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Country$Outbound, z.ZodTypeDef, Country>;
    /** @deprecated use `Country$Outbound` instead. */
    type Outbound = Country$Outbound;
}
export declare function countryToJSON(country: Country): string;
export declare function countryFromJSON(jsonString: string): SafeParseResult<Country, SDKValidationError>;
/** @internal */
export declare const AccountAddress4$inboundSchema: z.ZodType<AccountAddress4, z.ZodTypeDef, unknown>;
/** @internal */
export type AccountAddress4$Outbound = {};
/** @internal */
export declare const AccountAddress4$outboundSchema: z.ZodType<AccountAddress4$Outbound, z.ZodTypeDef, AccountAddress4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountAddress4$ {
    /** @deprecated use `AccountAddress4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountAddress4, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountAddress4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountAddress4$Outbound, z.ZodTypeDef, AccountAddress4>;
    /** @deprecated use `AccountAddress4$Outbound` instead. */
    type Outbound = AccountAddress4$Outbound;
}
export declare function accountAddress4ToJSON(accountAddress4: AccountAddress4): string;
export declare function accountAddress4FromJSON(jsonString: string): SafeParseResult<AccountAddress4, SDKValidationError>;
/** @internal */
export declare const AccountAddressSourceValue$inboundSchema: z.ZodType<AccountAddressSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type AccountAddressSourceValue$Outbound = AccountAddress4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const AccountAddressSourceValue$outboundSchema: z.ZodType<AccountAddressSourceValue$Outbound, z.ZodTypeDef, AccountAddressSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountAddressSourceValue$ {
    /** @deprecated use `AccountAddressSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountAddressSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountAddressSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountAddressSourceValue$Outbound, z.ZodTypeDef, AccountAddressSourceValue>;
    /** @deprecated use `AccountAddressSourceValue$Outbound` instead. */
    type Outbound = AccountAddressSourceValue$Outbound;
}
export declare function accountAddressSourceValueToJSON(accountAddressSourceValue: AccountAddressSourceValue): string;
export declare function accountAddressSourceValueFromJSON(jsonString: string): SafeParseResult<AccountAddressSourceValue, SDKValidationError>;
/** @internal */
export declare const AccountAddressValue$inboundSchema: z.ZodType<AccountAddressValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const AccountAddressValue$outboundSchema: z.ZodType<AccountAddressValueOpen, z.ZodTypeDef, AccountAddressValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountAddressValue$ {
    /** @deprecated use `AccountAddressValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountAddressValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountAddressValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountAddressValueOpen, z.ZodTypeDef, AccountAddressValueOpen>;
}
/** @internal */
export declare const LocationType$inboundSchema: z.ZodType<LocationType, z.ZodTypeDef, unknown>;
/** @internal */
export type LocationType$Outbound = {
    source_value?: AccountAddress4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const LocationType$outboundSchema: z.ZodType<LocationType$Outbound, z.ZodTypeDef, LocationType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LocationType$ {
    /** @deprecated use `LocationType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LocationType, z.ZodTypeDef, unknown>;
    /** @deprecated use `LocationType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LocationType$Outbound, z.ZodTypeDef, LocationType>;
    /** @deprecated use `LocationType$Outbound` instead. */
    type Outbound = LocationType$Outbound;
}
export declare function locationTypeToJSON(locationType: LocationType): string;
export declare function locationTypeFromJSON(jsonString: string): SafeParseResult<LocationType, SDKValidationError>;
/** @internal */
export declare const AccountAddress$inboundSchema: z.ZodType<AccountAddress, z.ZodTypeDef, unknown>;
/** @internal */
export type AccountAddress$Outbound = {
    city?: string | null | undefined;
    country?: Country$Outbound | null | undefined;
    location_type?: LocationType$Outbound | null | undefined;
    state?: string | null | undefined;
    street_1?: string | null | undefined;
    street_2?: string | null | undefined;
    zip_code?: string | null | undefined;
};
/** @internal */
export declare const AccountAddress$outboundSchema: z.ZodType<AccountAddress$Outbound, z.ZodTypeDef, AccountAddress>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountAddress$ {
    /** @deprecated use `AccountAddress$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountAddress, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountAddress$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountAddress$Outbound, z.ZodTypeDef, AccountAddress>;
    /** @deprecated use `AccountAddress$Outbound` instead. */
    type Outbound = AccountAddress$Outbound;
}
export declare function accountAddressToJSON(accountAddress: AccountAddress): string;
export declare function accountAddressFromJSON(jsonString: string): SafeParseResult<AccountAddress, SDKValidationError>;
//# sourceMappingURL=accountaddress.d.ts.map