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 EmploymentManagerApiModel4 = {};
export type EmploymentManagerApiModelSourceValue = EmploymentManagerApiModel4 | string | number | boolean | Array<any>;
export declare enum EmploymentManagerApiModelValue {
    Admin = "admin",
    Viewer = "viewer",
    Editor = "editor",
    Basic = "basic",
    Guest = "guest",
    Unassigned = "unassigned",
    Restricted = "restricted",
    UnmappedValue = "unmapped_value"
}
export type EmploymentManagerApiModelValueOpen = OpenEnum<typeof EmploymentManagerApiModelValue>;
/**
 * The manager role type (e.g., admin, viewer)
 */
export type RoleType = {
    sourceValue?: EmploymentManagerApiModel4 | string | number | boolean | Array<any> | null | undefined;
    value?: EmploymentManagerApiModelValueOpen | null | undefined;
};
/**
 * The role of manager
 */
export type Role = {
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * The label of the role type
     */
    label?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * The manager role type (e.g., admin, viewer)
     */
    roleType?: RoleType | null | undefined;
};
export type EmploymentManagerApiModel = {
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * The role of manager
     */
    role?: Role | null | undefined;
};
/** @internal */
export declare const EmploymentManagerApiModel4$inboundSchema: z.ZodType<EmploymentManagerApiModel4, z.ZodTypeDef, unknown>;
/** @internal */
export type EmploymentManagerApiModel4$Outbound = {};
/** @internal */
export declare const EmploymentManagerApiModel4$outboundSchema: z.ZodType<EmploymentManagerApiModel4$Outbound, z.ZodTypeDef, EmploymentManagerApiModel4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace EmploymentManagerApiModel4$ {
    /** @deprecated use `EmploymentManagerApiModel4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<EmploymentManagerApiModel4, z.ZodTypeDef, unknown>;
    /** @deprecated use `EmploymentManagerApiModel4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<EmploymentManagerApiModel4$Outbound, z.ZodTypeDef, EmploymentManagerApiModel4>;
    /** @deprecated use `EmploymentManagerApiModel4$Outbound` instead. */
    type Outbound = EmploymentManagerApiModel4$Outbound;
}
export declare function employmentManagerApiModel4ToJSON(employmentManagerApiModel4: EmploymentManagerApiModel4): string;
export declare function employmentManagerApiModel4FromJSON(jsonString: string): SafeParseResult<EmploymentManagerApiModel4, SDKValidationError>;
/** @internal */
export declare const EmploymentManagerApiModelSourceValue$inboundSchema: z.ZodType<EmploymentManagerApiModelSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type EmploymentManagerApiModelSourceValue$Outbound = EmploymentManagerApiModel4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const EmploymentManagerApiModelSourceValue$outboundSchema: z.ZodType<EmploymentManagerApiModelSourceValue$Outbound, z.ZodTypeDef, EmploymentManagerApiModelSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace EmploymentManagerApiModelSourceValue$ {
    /** @deprecated use `EmploymentManagerApiModelSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<EmploymentManagerApiModelSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `EmploymentManagerApiModelSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<EmploymentManagerApiModelSourceValue$Outbound, z.ZodTypeDef, EmploymentManagerApiModelSourceValue>;
    /** @deprecated use `EmploymentManagerApiModelSourceValue$Outbound` instead. */
    type Outbound = EmploymentManagerApiModelSourceValue$Outbound;
}
export declare function employmentManagerApiModelSourceValueToJSON(employmentManagerApiModelSourceValue: EmploymentManagerApiModelSourceValue): string;
export declare function employmentManagerApiModelSourceValueFromJSON(jsonString: string): SafeParseResult<EmploymentManagerApiModelSourceValue, SDKValidationError>;
/** @internal */
export declare const EmploymentManagerApiModelValue$inboundSchema: z.ZodType<EmploymentManagerApiModelValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const EmploymentManagerApiModelValue$outboundSchema: z.ZodType<EmploymentManagerApiModelValueOpen, z.ZodTypeDef, EmploymentManagerApiModelValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace EmploymentManagerApiModelValue$ {
    /** @deprecated use `EmploymentManagerApiModelValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<EmploymentManagerApiModelValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `EmploymentManagerApiModelValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<EmploymentManagerApiModelValueOpen, z.ZodTypeDef, EmploymentManagerApiModelValueOpen>;
}
/** @internal */
export declare const RoleType$inboundSchema: z.ZodType<RoleType, z.ZodTypeDef, unknown>;
/** @internal */
export type RoleType$Outbound = {
    source_value?: EmploymentManagerApiModel4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const RoleType$outboundSchema: z.ZodType<RoleType$Outbound, z.ZodTypeDef, RoleType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace RoleType$ {
    /** @deprecated use `RoleType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<RoleType, z.ZodTypeDef, unknown>;
    /** @deprecated use `RoleType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<RoleType$Outbound, z.ZodTypeDef, RoleType>;
    /** @deprecated use `RoleType$Outbound` instead. */
    type Outbound = RoleType$Outbound;
}
export declare function roleTypeToJSON(roleType: RoleType): string;
export declare function roleTypeFromJSON(jsonString: string): SafeParseResult<RoleType, SDKValidationError>;
/** @internal */
export declare const Role$inboundSchema: z.ZodType<Role, z.ZodTypeDef, unknown>;
/** @internal */
export type Role$Outbound = {
    id?: string | null | undefined;
    label?: string | null | undefined;
    remote_id?: string | null | undefined;
    role_type?: RoleType$Outbound | null | undefined;
};
/** @internal */
export declare const Role$outboundSchema: z.ZodType<Role$Outbound, z.ZodTypeDef, Role>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Role$ {
    /** @deprecated use `Role$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Role, z.ZodTypeDef, unknown>;
    /** @deprecated use `Role$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Role$Outbound, z.ZodTypeDef, Role>;
    /** @deprecated use `Role$Outbound` instead. */
    type Outbound = Role$Outbound;
}
export declare function roleToJSON(role: Role): string;
export declare function roleFromJSON(jsonString: string): SafeParseResult<Role, SDKValidationError>;
/** @internal */
export declare const EmploymentManagerApiModel$inboundSchema: z.ZodType<EmploymentManagerApiModel, z.ZodTypeDef, unknown>;
/** @internal */
export type EmploymentManagerApiModel$Outbound = {
    id?: string | null | undefined;
    remote_id?: string | null | undefined;
    role?: Role$Outbound | null | undefined;
};
/** @internal */
export declare const EmploymentManagerApiModel$outboundSchema: z.ZodType<EmploymentManagerApiModel$Outbound, z.ZodTypeDef, EmploymentManagerApiModel>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace EmploymentManagerApiModel$ {
    /** @deprecated use `EmploymentManagerApiModel$inboundSchema` instead. */
    const inboundSchema: z.ZodType<EmploymentManagerApiModel, z.ZodTypeDef, unknown>;
    /** @deprecated use `EmploymentManagerApiModel$outboundSchema` instead. */
    const outboundSchema: z.ZodType<EmploymentManagerApiModel$Outbound, z.ZodTypeDef, EmploymentManagerApiModel>;
    /** @deprecated use `EmploymentManagerApiModel$Outbound` instead. */
    type Outbound = EmploymentManagerApiModel$Outbound;
}
export declare function employmentManagerApiModelToJSON(employmentManagerApiModel: EmploymentManagerApiModel): string;
export declare function employmentManagerApiModelFromJSON(jsonString: string): SafeParseResult<EmploymentManagerApiModel, SDKValidationError>;
//# sourceMappingURL=employmentmanagerapimodel.d.ts.map