import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type HRISDivision4 = {};
export type HRISDivisionSourceValue = string | number | boolean | HRISDivision4 | Array<any>;
export declare enum HRISDivisionValue {
    Department = "department",
    Company = "company",
    Division = "division",
    Group = "group",
    Project = "project",
    CostCenter = "cost_center",
    Team = "team",
    UnmappedValue = "unmapped_value"
}
export type HRISDivisionValueOpen = OpenEnum<typeof HRISDivisionValue>;
/**
 * The type of the division group
 */
export type HRISDivisionType = {
    sourceValue?: string | number | boolean | HRISDivision4 | Array<any> | null | undefined;
    value?: HRISDivisionValueOpen | null | undefined;
};
export type HRISDivision = {
    /**
     * The id of the company that the group belongs to
     */
    companyId?: string | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * The name of the group
     */
    name?: string | null | undefined;
    /**
     * The list of group owner ids of the given group
     */
    ownerIds?: Array<string> | null | undefined;
    /**
     * The list of parent group ids of the given group
     */
    parentIds?: Array<string> | null | undefined;
    /**
     * Provider's id of the company that the group belongs to
     */
    remoteCompanyId?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * The list of remote group owner ids of the given group
     */
    remoteOwnerIds?: Array<string> | null | undefined;
    /**
     * Provider's list of parent group remote ids of the given group
     */
    remoteParentIds?: Array<string> | null | undefined;
    /**
     * The type of the division group
     */
    type?: HRISDivisionType | null | undefined;
    /**
     * Custom Unified Fields configured in your StackOne project
     */
    unifiedCustomFields?: {
        [k: string]: any;
    } | null | undefined;
};
/** @internal */
export declare const HRISDivision4$inboundSchema: z.ZodType<HRISDivision4, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISDivision4$Outbound = {};
/** @internal */
export declare const HRISDivision4$outboundSchema: z.ZodType<HRISDivision4$Outbound, z.ZodTypeDef, HRISDivision4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISDivision4$ {
    /** @deprecated use `HRISDivision4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISDivision4, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISDivision4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISDivision4$Outbound, z.ZodTypeDef, HRISDivision4>;
    /** @deprecated use `HRISDivision4$Outbound` instead. */
    type Outbound = HRISDivision4$Outbound;
}
export declare function hrisDivision4ToJSON(hrisDivision4: HRISDivision4): string;
export declare function hrisDivision4FromJSON(jsonString: string): SafeParseResult<HRISDivision4, SDKValidationError>;
/** @internal */
export declare const HRISDivisionSourceValue$inboundSchema: z.ZodType<HRISDivisionSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISDivisionSourceValue$Outbound = string | number | boolean | HRISDivision4$Outbound | Array<any>;
/** @internal */
export declare const HRISDivisionSourceValue$outboundSchema: z.ZodType<HRISDivisionSourceValue$Outbound, z.ZodTypeDef, HRISDivisionSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISDivisionSourceValue$ {
    /** @deprecated use `HRISDivisionSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISDivisionSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISDivisionSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISDivisionSourceValue$Outbound, z.ZodTypeDef, HRISDivisionSourceValue>;
    /** @deprecated use `HRISDivisionSourceValue$Outbound` instead. */
    type Outbound = HRISDivisionSourceValue$Outbound;
}
export declare function hrisDivisionSourceValueToJSON(hrisDivisionSourceValue: HRISDivisionSourceValue): string;
export declare function hrisDivisionSourceValueFromJSON(jsonString: string): SafeParseResult<HRISDivisionSourceValue, SDKValidationError>;
/** @internal */
export declare const HRISDivisionValue$inboundSchema: z.ZodType<HRISDivisionValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const HRISDivisionValue$outboundSchema: z.ZodType<HRISDivisionValueOpen, z.ZodTypeDef, HRISDivisionValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISDivisionValue$ {
    /** @deprecated use `HRISDivisionValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISDivisionValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISDivisionValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISDivisionValueOpen, z.ZodTypeDef, HRISDivisionValueOpen>;
}
/** @internal */
export declare const HRISDivisionType$inboundSchema: z.ZodType<HRISDivisionType, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISDivisionType$Outbound = {
    source_value?: string | number | boolean | HRISDivision4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const HRISDivisionType$outboundSchema: z.ZodType<HRISDivisionType$Outbound, z.ZodTypeDef, HRISDivisionType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISDivisionType$ {
    /** @deprecated use `HRISDivisionType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISDivisionType, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISDivisionType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISDivisionType$Outbound, z.ZodTypeDef, HRISDivisionType>;
    /** @deprecated use `HRISDivisionType$Outbound` instead. */
    type Outbound = HRISDivisionType$Outbound;
}
export declare function hrisDivisionTypeToJSON(hrisDivisionType: HRISDivisionType): string;
export declare function hrisDivisionTypeFromJSON(jsonString: string): SafeParseResult<HRISDivisionType, SDKValidationError>;
/** @internal */
export declare const HRISDivision$inboundSchema: z.ZodType<HRISDivision, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISDivision$Outbound = {
    company_id?: string | null | undefined;
    id?: string | null | undefined;
    name?: string | null | undefined;
    owner_ids?: Array<string> | null | undefined;
    parent_ids?: Array<string> | null | undefined;
    remote_company_id?: string | null | undefined;
    remote_id?: string | null | undefined;
    remote_owner_ids?: Array<string> | null | undefined;
    remote_parent_ids?: Array<string> | null | undefined;
    type?: HRISDivisionType$Outbound | null | undefined;
    unified_custom_fields?: {
        [k: string]: any;
    } | null | undefined;
};
/** @internal */
export declare const HRISDivision$outboundSchema: z.ZodType<HRISDivision$Outbound, z.ZodTypeDef, HRISDivision>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISDivision$ {
    /** @deprecated use `HRISDivision$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISDivision, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISDivision$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISDivision$Outbound, z.ZodTypeDef, HRISDivision>;
    /** @deprecated use `HRISDivision$Outbound` instead. */
    type Outbound = HRISDivision$Outbound;
}
export declare function hrisDivisionToJSON(hrisDivision: HRISDivision): string;
export declare function hrisDivisionFromJSON(jsonString: string): SafeParseResult<HRISDivision, SDKValidationError>;
//# sourceMappingURL=hrisdivision.d.ts.map