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 Position4 = {};
/**
 * The source value of the position status.
 */
export type PositionSourceValue = string | number | boolean | Position4 | Array<any>;
/**
 * The status of the position.
 */
export declare enum PositionValue {
    Open = "open",
    Closed = "closed",
    Paused = "paused",
    UnmappedValue = "unmapped_value"
}
/**
 * The status of the position.
 */
export type PositionValueOpen = OpenEnum<typeof PositionValue>;
/**
 * Status of the position
 */
export type PositionStatus = {
    /**
     * The source value of the position status.
     */
    sourceValue?: string | number | boolean | Position4 | Array<any> | null | undefined;
    /**
     * The status of the position.
     */
    value?: PositionValueOpen | null | undefined;
};
export type Position = {
    /**
     * Department ID associated with the position
     */
    departmentId?: string | null | undefined;
    /**
     * Description of the position
     */
    description?: string | null | undefined;
    /**
     * Employment type for the position
     */
    employmentType?: string | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * Job ID from the HRIS provider
     */
    jobId?: string | null | undefined;
    /**
     * Location ID associated with the position
     */
    locationId?: string | null | undefined;
    /**
     * Date when the position was posted
     */
    postedDate?: Date | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * Status of the position
     */
    status?: PositionStatus | null | undefined;
    /**
     * Title of the position
     */
    title?: string | null | undefined;
};
/** @internal */
export declare const Position4$inboundSchema: z.ZodType<Position4, z.ZodTypeDef, unknown>;
/** @internal */
export type Position4$Outbound = {};
/** @internal */
export declare const Position4$outboundSchema: z.ZodType<Position4$Outbound, z.ZodTypeDef, Position4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Position4$ {
    /** @deprecated use `Position4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Position4, z.ZodTypeDef, unknown>;
    /** @deprecated use `Position4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Position4$Outbound, z.ZodTypeDef, Position4>;
    /** @deprecated use `Position4$Outbound` instead. */
    type Outbound = Position4$Outbound;
}
export declare function position4ToJSON(position4: Position4): string;
export declare function position4FromJSON(jsonString: string): SafeParseResult<Position4, SDKValidationError>;
/** @internal */
export declare const PositionSourceValue$inboundSchema: z.ZodType<PositionSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type PositionSourceValue$Outbound = string | number | boolean | Position4$Outbound | Array<any>;
/** @internal */
export declare const PositionSourceValue$outboundSchema: z.ZodType<PositionSourceValue$Outbound, z.ZodTypeDef, PositionSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PositionSourceValue$ {
    /** @deprecated use `PositionSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PositionSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `PositionSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PositionSourceValue$Outbound, z.ZodTypeDef, PositionSourceValue>;
    /** @deprecated use `PositionSourceValue$Outbound` instead. */
    type Outbound = PositionSourceValue$Outbound;
}
export declare function positionSourceValueToJSON(positionSourceValue: PositionSourceValue): string;
export declare function positionSourceValueFromJSON(jsonString: string): SafeParseResult<PositionSourceValue, SDKValidationError>;
/** @internal */
export declare const PositionValue$inboundSchema: z.ZodType<PositionValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const PositionValue$outboundSchema: z.ZodType<PositionValueOpen, z.ZodTypeDef, PositionValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PositionValue$ {
    /** @deprecated use `PositionValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PositionValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `PositionValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PositionValueOpen, z.ZodTypeDef, PositionValueOpen>;
}
/** @internal */
export declare const PositionStatus$inboundSchema: z.ZodType<PositionStatus, z.ZodTypeDef, unknown>;
/** @internal */
export type PositionStatus$Outbound = {
    source_value?: string | number | boolean | Position4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const PositionStatus$outboundSchema: z.ZodType<PositionStatus$Outbound, z.ZodTypeDef, PositionStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PositionStatus$ {
    /** @deprecated use `PositionStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PositionStatus, z.ZodTypeDef, unknown>;
    /** @deprecated use `PositionStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PositionStatus$Outbound, z.ZodTypeDef, PositionStatus>;
    /** @deprecated use `PositionStatus$Outbound` instead. */
    type Outbound = PositionStatus$Outbound;
}
export declare function positionStatusToJSON(positionStatus: PositionStatus): string;
export declare function positionStatusFromJSON(jsonString: string): SafeParseResult<PositionStatus, SDKValidationError>;
/** @internal */
export declare const Position$inboundSchema: z.ZodType<Position, z.ZodTypeDef, unknown>;
/** @internal */
export type Position$Outbound = {
    department_id?: string | null | undefined;
    description?: string | null | undefined;
    employment_type?: string | null | undefined;
    id?: string | null | undefined;
    job_id?: string | null | undefined;
    location_id?: string | null | undefined;
    posted_date?: string | null | undefined;
    remote_id?: string | null | undefined;
    status?: PositionStatus$Outbound | null | undefined;
    title?: string | null | undefined;
};
/** @internal */
export declare const Position$outboundSchema: z.ZodType<Position$Outbound, z.ZodTypeDef, Position>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Position$ {
    /** @deprecated use `Position$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Position, z.ZodTypeDef, unknown>;
    /** @deprecated use `Position$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Position$Outbound, z.ZodTypeDef, Position>;
    /** @deprecated use `Position$Outbound` instead. */
    type Outbound = Position$Outbound;
}
export declare function positionToJSON(position: Position): string;
export declare function positionFromJSON(jsonString: string): SafeParseResult<Position, SDKValidationError>;
//# sourceMappingURL=position.d.ts.map