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 HRISLocation4 = {};
export type HRISLocationSourceValue = HRISLocation4 | string | number | boolean | Array<any>;
/**
 * The ISO3166-1 Alpha2 Code of the Country
 */
export declare enum HRISLocationValue {
    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",
    UnmappedValue = "unmapped_value"
}
/**
 * The ISO3166-1 Alpha2 Code of the Country
 */
export type HRISLocationValueOpen = OpenEnum<typeof HRISLocationValue>;
/**
 * The country code
 */
export type HRISLocationCountry = {
    sourceValue?: HRISLocation4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The ISO3166-1 Alpha2 Code of the Country
     */
    value?: HRISLocationValueOpen | null | undefined;
};
export type HRISLocationSchemas4 = {};
/**
 * The source value of the location type.
 */
export type HRISLocationSchemasSourceValue = HRISLocationSchemas4 | string | number | boolean | Array<any>;
/**
 * The type of the location.
 */
export declare enum HRISLocationSchemasValue {
    Home = "home",
    Work = "work",
    UnmappedValue = "unmapped_value"
}
/**
 * The type of the location.
 */
export type HRISLocationSchemasValueOpen = OpenEnum<typeof HRISLocationSchemasValue>;
/**
 * The location type
 */
export type HRISLocationLocationType = {
    /**
     * The source value of the location type.
     */
    sourceValue?: HRISLocationSchemas4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The type of the location.
     */
    value?: HRISLocationSchemasValueOpen | null | undefined;
};
export type HRISLocation = {
    /**
     * The city where the location is situated
     */
    city?: string | null | undefined;
    /**
     * The country code
     */
    country?: HRISLocationCountry | null | undefined;
    /**
     * The created_at date
     */
    createdAt?: Date | null | undefined;
    /**
     * The employee ID
     */
    employeeId?: string | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * The location type
     */
    locationType?: HRISLocationLocationType | null | undefined;
    /**
     * The name of the location
     */
    name?: string | null | undefined;
    /**
     * The phone number of the location
     */
    phoneNumber?: string | null | undefined;
    /**
     * Provider's unique identifier of the employee
     */
    remoteEmployeeId?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * The state where the location is situated
     */
    state?: string | null | undefined;
    /**
     * The first line of the address
     */
    street1?: string | null | undefined;
    /**
     * The second line of the address
     */
    street2?: string | null | undefined;
    /**
     * Custom Unified Fields configured in your StackOne project
     */
    unifiedCustomFields?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * The updated_at date
     */
    updatedAt?: Date | null | undefined;
    /**
     * The ZIP code/Postal code of the location
     */
    zipCode?: string | null | undefined;
};
/** @internal */
export declare const HRISLocation4$inboundSchema: z.ZodType<HRISLocation4, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISLocation4$Outbound = {};
/** @internal */
export declare const HRISLocation4$outboundSchema: z.ZodType<HRISLocation4$Outbound, z.ZodTypeDef, HRISLocation4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISLocation4$ {
    /** @deprecated use `HRISLocation4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISLocation4, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISLocation4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISLocation4$Outbound, z.ZodTypeDef, HRISLocation4>;
    /** @deprecated use `HRISLocation4$Outbound` instead. */
    type Outbound = HRISLocation4$Outbound;
}
export declare function hrisLocation4ToJSON(hrisLocation4: HRISLocation4): string;
export declare function hrisLocation4FromJSON(jsonString: string): SafeParseResult<HRISLocation4, SDKValidationError>;
/** @internal */
export declare const HRISLocationSourceValue$inboundSchema: z.ZodType<HRISLocationSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISLocationSourceValue$Outbound = HRISLocation4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const HRISLocationSourceValue$outboundSchema: z.ZodType<HRISLocationSourceValue$Outbound, z.ZodTypeDef, HRISLocationSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISLocationSourceValue$ {
    /** @deprecated use `HRISLocationSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISLocationSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISLocationSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISLocationSourceValue$Outbound, z.ZodTypeDef, HRISLocationSourceValue>;
    /** @deprecated use `HRISLocationSourceValue$Outbound` instead. */
    type Outbound = HRISLocationSourceValue$Outbound;
}
export declare function hrisLocationSourceValueToJSON(hrisLocationSourceValue: HRISLocationSourceValue): string;
export declare function hrisLocationSourceValueFromJSON(jsonString: string): SafeParseResult<HRISLocationSourceValue, SDKValidationError>;
/** @internal */
export declare const HRISLocationValue$inboundSchema: z.ZodType<HRISLocationValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const HRISLocationValue$outboundSchema: z.ZodType<HRISLocationValueOpen, z.ZodTypeDef, HRISLocationValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISLocationValue$ {
    /** @deprecated use `HRISLocationValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISLocationValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISLocationValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISLocationValueOpen, z.ZodTypeDef, HRISLocationValueOpen>;
}
/** @internal */
export declare const HRISLocationCountry$inboundSchema: z.ZodType<HRISLocationCountry, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISLocationCountry$Outbound = {
    source_value?: HRISLocation4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const HRISLocationCountry$outboundSchema: z.ZodType<HRISLocationCountry$Outbound, z.ZodTypeDef, HRISLocationCountry>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISLocationCountry$ {
    /** @deprecated use `HRISLocationCountry$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISLocationCountry, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISLocationCountry$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISLocationCountry$Outbound, z.ZodTypeDef, HRISLocationCountry>;
    /** @deprecated use `HRISLocationCountry$Outbound` instead. */
    type Outbound = HRISLocationCountry$Outbound;
}
export declare function hrisLocationCountryToJSON(hrisLocationCountry: HRISLocationCountry): string;
export declare function hrisLocationCountryFromJSON(jsonString: string): SafeParseResult<HRISLocationCountry, SDKValidationError>;
/** @internal */
export declare const HRISLocationSchemas4$inboundSchema: z.ZodType<HRISLocationSchemas4, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISLocationSchemas4$Outbound = {};
/** @internal */
export declare const HRISLocationSchemas4$outboundSchema: z.ZodType<HRISLocationSchemas4$Outbound, z.ZodTypeDef, HRISLocationSchemas4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISLocationSchemas4$ {
    /** @deprecated use `HRISLocationSchemas4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISLocationSchemas4, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISLocationSchemas4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISLocationSchemas4$Outbound, z.ZodTypeDef, HRISLocationSchemas4>;
    /** @deprecated use `HRISLocationSchemas4$Outbound` instead. */
    type Outbound = HRISLocationSchemas4$Outbound;
}
export declare function hrisLocationSchemas4ToJSON(hrisLocationSchemas4: HRISLocationSchemas4): string;
export declare function hrisLocationSchemas4FromJSON(jsonString: string): SafeParseResult<HRISLocationSchemas4, SDKValidationError>;
/** @internal */
export declare const HRISLocationSchemasSourceValue$inboundSchema: z.ZodType<HRISLocationSchemasSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISLocationSchemasSourceValue$Outbound = HRISLocationSchemas4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const HRISLocationSchemasSourceValue$outboundSchema: z.ZodType<HRISLocationSchemasSourceValue$Outbound, z.ZodTypeDef, HRISLocationSchemasSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISLocationSchemasSourceValue$ {
    /** @deprecated use `HRISLocationSchemasSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISLocationSchemasSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISLocationSchemasSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISLocationSchemasSourceValue$Outbound, z.ZodTypeDef, HRISLocationSchemasSourceValue>;
    /** @deprecated use `HRISLocationSchemasSourceValue$Outbound` instead. */
    type Outbound = HRISLocationSchemasSourceValue$Outbound;
}
export declare function hrisLocationSchemasSourceValueToJSON(hrisLocationSchemasSourceValue: HRISLocationSchemasSourceValue): string;
export declare function hrisLocationSchemasSourceValueFromJSON(jsonString: string): SafeParseResult<HRISLocationSchemasSourceValue, SDKValidationError>;
/** @internal */
export declare const HRISLocationSchemasValue$inboundSchema: z.ZodType<HRISLocationSchemasValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const HRISLocationSchemasValue$outboundSchema: z.ZodType<HRISLocationSchemasValueOpen, z.ZodTypeDef, HRISLocationSchemasValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISLocationSchemasValue$ {
    /** @deprecated use `HRISLocationSchemasValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISLocationSchemasValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISLocationSchemasValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISLocationSchemasValueOpen, z.ZodTypeDef, HRISLocationSchemasValueOpen>;
}
/** @internal */
export declare const HRISLocationLocationType$inboundSchema: z.ZodType<HRISLocationLocationType, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISLocationLocationType$Outbound = {
    source_value?: HRISLocationSchemas4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const HRISLocationLocationType$outboundSchema: z.ZodType<HRISLocationLocationType$Outbound, z.ZodTypeDef, HRISLocationLocationType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISLocationLocationType$ {
    /** @deprecated use `HRISLocationLocationType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISLocationLocationType, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISLocationLocationType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISLocationLocationType$Outbound, z.ZodTypeDef, HRISLocationLocationType>;
    /** @deprecated use `HRISLocationLocationType$Outbound` instead. */
    type Outbound = HRISLocationLocationType$Outbound;
}
export declare function hrisLocationLocationTypeToJSON(hrisLocationLocationType: HRISLocationLocationType): string;
export declare function hrisLocationLocationTypeFromJSON(jsonString: string): SafeParseResult<HRISLocationLocationType, SDKValidationError>;
/** @internal */
export declare const HRISLocation$inboundSchema: z.ZodType<HRISLocation, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISLocation$Outbound = {
    city?: string | null | undefined;
    country?: HRISLocationCountry$Outbound | null | undefined;
    created_at?: string | null | undefined;
    employee_id?: string | null | undefined;
    id?: string | null | undefined;
    location_type?: HRISLocationLocationType$Outbound | null | undefined;
    name?: string | null | undefined;
    phone_number?: string | null | undefined;
    remote_employee_id?: string | null | undefined;
    remote_id?: string | null | undefined;
    state?: string | null | undefined;
    street_1?: string | null | undefined;
    street_2?: string | null | undefined;
    unified_custom_fields?: {
        [k: string]: any;
    } | null | undefined;
    updated_at?: string | null | undefined;
    zip_code?: string | null | undefined;
};
/** @internal */
export declare const HRISLocation$outboundSchema: z.ZodType<HRISLocation$Outbound, z.ZodTypeDef, HRISLocation>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISLocation$ {
    /** @deprecated use `HRISLocation$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISLocation, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISLocation$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISLocation$Outbound, z.ZodTypeDef, HRISLocation>;
    /** @deprecated use `HRISLocation$Outbound` instead. */
    type Outbound = HRISLocation$Outbound;
}
export declare function hrisLocationToJSON(hrisLocation: HRISLocation): string;
export declare function hrisLocationFromJSON(jsonString: string): SafeParseResult<HRISLocation, SDKValidationError>;
//# sourceMappingURL=hrislocation.d.ts.map