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 HRISDepartment4 = {};
export type HRISDepartmentSourceValue = HRISDepartment4 | string | number | boolean | Array<any>;
export declare enum HRISDepartmentValue {
    Department = "department",
    Company = "company",
    Division = "division",
    Group = "group",
    Project = "project",
    Team = "team",
    UnmappedValue = "unmapped_value"
}
export type HRISDepartmentValueOpen = OpenEnum<typeof HRISDepartmentValue>;
/**
 * The type of the department group
 */
export type HRISDepartmentType = {
    sourceValue?: HRISDepartment4 | string | number | boolean | Array<any> | null | undefined;
    value?: HRISDepartmentValueOpen | null | undefined;
};
export type HRISDepartment = {
    /**
     * 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 department group
     */
    type?: HRISDepartmentType | null | undefined;
    /**
     * Custom Unified Fields configured in your StackOne project
     */
    unifiedCustomFields?: {
        [k: string]: any;
    } | null | undefined;
};
/** @internal */
export declare const HRISDepartment4$inboundSchema: z.ZodType<HRISDepartment4, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISDepartment4$Outbound = {};
/** @internal */
export declare const HRISDepartment4$outboundSchema: z.ZodType<HRISDepartment4$Outbound, z.ZodTypeDef, HRISDepartment4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISDepartment4$ {
    /** @deprecated use `HRISDepartment4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISDepartment4, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISDepartment4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISDepartment4$Outbound, z.ZodTypeDef, HRISDepartment4>;
    /** @deprecated use `HRISDepartment4$Outbound` instead. */
    type Outbound = HRISDepartment4$Outbound;
}
export declare function hrisDepartment4ToJSON(hrisDepartment4: HRISDepartment4): string;
export declare function hrisDepartment4FromJSON(jsonString: string): SafeParseResult<HRISDepartment4, SDKValidationError>;
/** @internal */
export declare const HRISDepartmentSourceValue$inboundSchema: z.ZodType<HRISDepartmentSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISDepartmentSourceValue$Outbound = HRISDepartment4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const HRISDepartmentSourceValue$outboundSchema: z.ZodType<HRISDepartmentSourceValue$Outbound, z.ZodTypeDef, HRISDepartmentSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISDepartmentSourceValue$ {
    /** @deprecated use `HRISDepartmentSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISDepartmentSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISDepartmentSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISDepartmentSourceValue$Outbound, z.ZodTypeDef, HRISDepartmentSourceValue>;
    /** @deprecated use `HRISDepartmentSourceValue$Outbound` instead. */
    type Outbound = HRISDepartmentSourceValue$Outbound;
}
export declare function hrisDepartmentSourceValueToJSON(hrisDepartmentSourceValue: HRISDepartmentSourceValue): string;
export declare function hrisDepartmentSourceValueFromJSON(jsonString: string): SafeParseResult<HRISDepartmentSourceValue, SDKValidationError>;
/** @internal */
export declare const HRISDepartmentValue$inboundSchema: z.ZodType<HRISDepartmentValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const HRISDepartmentValue$outboundSchema: z.ZodType<HRISDepartmentValueOpen, z.ZodTypeDef, HRISDepartmentValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISDepartmentValue$ {
    /** @deprecated use `HRISDepartmentValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISDepartmentValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISDepartmentValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISDepartmentValueOpen, z.ZodTypeDef, HRISDepartmentValueOpen>;
}
/** @internal */
export declare const HRISDepartmentType$inboundSchema: z.ZodType<HRISDepartmentType, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISDepartmentType$Outbound = {
    source_value?: HRISDepartment4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const HRISDepartmentType$outboundSchema: z.ZodType<HRISDepartmentType$Outbound, z.ZodTypeDef, HRISDepartmentType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISDepartmentType$ {
    /** @deprecated use `HRISDepartmentType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISDepartmentType, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISDepartmentType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISDepartmentType$Outbound, z.ZodTypeDef, HRISDepartmentType>;
    /** @deprecated use `HRISDepartmentType$Outbound` instead. */
    type Outbound = HRISDepartmentType$Outbound;
}
export declare function hrisDepartmentTypeToJSON(hrisDepartmentType: HRISDepartmentType): string;
export declare function hrisDepartmentTypeFromJSON(jsonString: string): SafeParseResult<HRISDepartmentType, SDKValidationError>;
/** @internal */
export declare const HRISDepartment$inboundSchema: z.ZodType<HRISDepartment, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISDepartment$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?: HRISDepartmentType$Outbound | null | undefined;
    unified_custom_fields?: {
        [k: string]: any;
    } | null | undefined;
};
/** @internal */
export declare const HRISDepartment$outboundSchema: z.ZodType<HRISDepartment$Outbound, z.ZodTypeDef, HRISDepartment>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISDepartment$ {
    /** @deprecated use `HRISDepartment$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISDepartment, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISDepartment$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISDepartment$Outbound, z.ZodTypeDef, HRISDepartment>;
    /** @deprecated use `HRISDepartment$Outbound` instead. */
    type Outbound = HRISDepartment$Outbound;
}
export declare function hrisDepartmentToJSON(hrisDepartment: HRISDepartment): string;
export declare function hrisDepartmentFromJSON(jsonString: string): SafeParseResult<HRISDepartment, SDKValidationError>;
//# sourceMappingURL=hrisdepartment.d.ts.map