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 HRISGroup4 = {};
export type HRISGroupSourceValue = HRISGroup4 | string | number | boolean | Array<any>;
export declare enum HRISGroupValue {
    Workspace = "workspace",
    Team = "team",
    Department = "department",
    Group = "group",
    Organization = "organization",
    UnmappedValue = "unmapped_value",
    CostCenter = "cost_center"
}
export type HRISGroupValueOpen = OpenEnum<typeof HRISGroupValue>;
/**
 * The type of the group
 */
export type HRISGroupType = {
    sourceValue?: HRISGroup4 | string | number | boolean | Array<any> | null | undefined;
    value?: HRISGroupValueOpen | null | undefined;
};
export type HRISGroup = {
    /**
     * 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 group
     */
    type?: HRISGroupType | null | undefined;
    /**
     * Custom Unified Fields configured in your StackOne project
     */
    unifiedCustomFields?: {
        [k: string]: any;
    } | null | undefined;
};
/** @internal */
export declare const HRISGroup4$inboundSchema: z.ZodType<HRISGroup4, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISGroup4$Outbound = {};
/** @internal */
export declare const HRISGroup4$outboundSchema: z.ZodType<HRISGroup4$Outbound, z.ZodTypeDef, HRISGroup4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISGroup4$ {
    /** @deprecated use `HRISGroup4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISGroup4, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISGroup4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISGroup4$Outbound, z.ZodTypeDef, HRISGroup4>;
    /** @deprecated use `HRISGroup4$Outbound` instead. */
    type Outbound = HRISGroup4$Outbound;
}
export declare function hrisGroup4ToJSON(hrisGroup4: HRISGroup4): string;
export declare function hrisGroup4FromJSON(jsonString: string): SafeParseResult<HRISGroup4, SDKValidationError>;
/** @internal */
export declare const HRISGroupSourceValue$inboundSchema: z.ZodType<HRISGroupSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISGroupSourceValue$Outbound = HRISGroup4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const HRISGroupSourceValue$outboundSchema: z.ZodType<HRISGroupSourceValue$Outbound, z.ZodTypeDef, HRISGroupSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISGroupSourceValue$ {
    /** @deprecated use `HRISGroupSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISGroupSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISGroupSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISGroupSourceValue$Outbound, z.ZodTypeDef, HRISGroupSourceValue>;
    /** @deprecated use `HRISGroupSourceValue$Outbound` instead. */
    type Outbound = HRISGroupSourceValue$Outbound;
}
export declare function hrisGroupSourceValueToJSON(hrisGroupSourceValue: HRISGroupSourceValue): string;
export declare function hrisGroupSourceValueFromJSON(jsonString: string): SafeParseResult<HRISGroupSourceValue, SDKValidationError>;
/** @internal */
export declare const HRISGroupValue$inboundSchema: z.ZodType<HRISGroupValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const HRISGroupValue$outboundSchema: z.ZodType<HRISGroupValueOpen, z.ZodTypeDef, HRISGroupValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISGroupValue$ {
    /** @deprecated use `HRISGroupValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISGroupValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISGroupValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISGroupValueOpen, z.ZodTypeDef, HRISGroupValueOpen>;
}
/** @internal */
export declare const HRISGroupType$inboundSchema: z.ZodType<HRISGroupType, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISGroupType$Outbound = {
    source_value?: HRISGroup4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const HRISGroupType$outboundSchema: z.ZodType<HRISGroupType$Outbound, z.ZodTypeDef, HRISGroupType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISGroupType$ {
    /** @deprecated use `HRISGroupType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISGroupType, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISGroupType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISGroupType$Outbound, z.ZodTypeDef, HRISGroupType>;
    /** @deprecated use `HRISGroupType$Outbound` instead. */
    type Outbound = HRISGroupType$Outbound;
}
export declare function hrisGroupTypeToJSON(hrisGroupType: HRISGroupType): string;
export declare function hrisGroupTypeFromJSON(jsonString: string): SafeParseResult<HRISGroupType, SDKValidationError>;
/** @internal */
export declare const HRISGroup$inboundSchema: z.ZodType<HRISGroup, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISGroup$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?: HRISGroupType$Outbound | null | undefined;
    unified_custom_fields?: {
        [k: string]: any;
    } | null | undefined;
};
/** @internal */
export declare const HRISGroup$outboundSchema: z.ZodType<HRISGroup$Outbound, z.ZodTypeDef, HRISGroup>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISGroup$ {
    /** @deprecated use `HRISGroup$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISGroup, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISGroup$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISGroup$Outbound, z.ZodTypeDef, HRISGroup>;
    /** @deprecated use `HRISGroup$Outbound` instead. */
    type Outbound = HRISGroup$Outbound;
}
export declare function hrisGroupToJSON(hrisGroup: HRISGroup): string;
export declare function hrisGroupFromJSON(jsonString: string): SafeParseResult<HRISGroup, SDKValidationError>;
//# sourceMappingURL=hrisgroup.d.ts.map