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";
import { JobPostingCompensation } from "./jobpostingcompensation.js";
import { JobPostingContentSection } from "./jobpostingcontentsection.js";
import { JobPostingLocation } from "./jobpostinglocation.js";
import { JobPostingQuestionnaire } from "./jobpostingquestionnaire.js";
export type JobPostingContent = {
    html?: string | null | undefined;
    plain?: string | null | undefined;
    sections?: Array<JobPostingContentSection> | null | undefined;
};
export type JobPosting4 = {};
/**
 * The source value of the employment contract type.
 */
export type JobPostingSourceValue = string | number | boolean | JobPosting4 | Array<any>;
/**
 * The employment contract type.
 */
export declare enum JobPostingValue {
    FullTime = "full_time",
    Shifts = "shifts",
    PartTime = "part_time",
    UnmappedValue = "unmapped_value"
}
/**
 * The employment contract type.
 */
export type JobPostingValueOpen = OpenEnum<typeof JobPostingValue>;
export type JobPostingEmploymentContractType = {
    /**
     * The source value of the employment contract type.
     */
    sourceValue?: string | number | boolean | JobPosting4 | Array<any> | null | undefined;
    /**
     * The employment contract type.
     */
    value?: JobPostingValueOpen | null | undefined;
};
export type JobPostingSchemas4 = {};
/**
 * The source value of the employment type.
 */
export type JobPostingSchemasSourceValue = string | number | boolean | JobPostingSchemas4 | Array<any>;
/**
 * The type of the employment.
 */
export declare enum JobPostingSchemasValue {
    Contractor = "contractor",
    Intern = "intern",
    Permanent = "permanent",
    Apprentice = "apprentice",
    Freelance = "freelance",
    Terminated = "terminated",
    Temporary = "temporary",
    Seasonal = "seasonal",
    Volunteer = "volunteer",
    Probation = "probation",
    Internal = "internal",
    External = "external",
    Expatriate = "expatriate",
    EmployerOfRecord = "employer_of_record",
    Casual = "casual",
    Programme = "Programme",
    UnmappedValue = "unmapped_value"
}
/**
 * The type of the employment.
 */
export type JobPostingSchemasValueOpen = OpenEnum<typeof JobPostingSchemasValue>;
export type JobPostingEmploymentType = {
    /**
     * The source value of the employment type.
     */
    sourceValue?: string | number | boolean | JobPostingSchemas4 | Array<any> | null | undefined;
    /**
     * The type of the employment.
     */
    value?: JobPostingSchemasValueOpen | null | undefined;
};
export declare enum Internal {
    True = "true",
    False = "false",
    UnmappedValue = "unmapped_value"
}
export type InternalOpen = OpenEnum<typeof Internal>;
export type JobPostingSchemasStatus4 = {};
/**
 * The source value of the job postings status.
 */
export type JobPostingSchemasStatusSourceValue = string | number | boolean | JobPostingSchemasStatus4 | Array<any>;
/**
 * The status of the job postings.
 */
export declare enum JobPostingSchemasStatusValue {
    Live = "live",
    Draft = "draft",
    Pending = "pending",
    Internal = "internal",
    Rejected = "rejected",
    Closed = "closed",
    Archived = "archived",
    UnmappedValue = "unmapped_value"
}
/**
 * The status of the job postings.
 */
export type JobPostingSchemasStatusValueOpen = OpenEnum<typeof JobPostingSchemasStatusValue>;
export type JobPostingStatus = {
    /**
     * The source value of the job postings status.
     */
    sourceValue?: string | number | boolean | JobPostingSchemasStatus4 | Array<any> | null | undefined;
    /**
     * The status of the job postings.
     */
    value?: JobPostingSchemasStatusValueOpen | null | undefined;
};
export type JobPosting = {
    compensation?: Array<JobPostingCompensation> | null | undefined;
    content?: JobPostingContent | null | undefined;
    /**
     * Date of creation
     */
    createdAt?: Date | null | undefined;
    employmentContractType?: JobPostingEmploymentContractType | null | undefined;
    employmentType?: JobPostingEmploymentType | null | undefined;
    externalApplyUrl?: string | null | undefined;
    externalUrl?: string | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    internal?: InternalOpen | null | undefined;
    jobId?: string | null | undefined;
    locations?: Array<JobPostingLocation> | null | undefined;
    questionnaires?: Array<JobPostingQuestionnaire> | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * Provider's unique identifier of the job posting
     */
    remoteJobPostingId?: string | null | undefined;
    /**
     * The posting start date
     */
    startDate?: Date | null | undefined;
    status?: JobPostingStatus | null | undefined;
    title?: string | null | undefined;
    /**
     * Custom Unified Fields configured in your StackOne project
     */
    unifiedCustomFields?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * Date of last update
     */
    updatedAt?: Date | null | undefined;
};
/** @internal */
export declare const JobPostingContent$inboundSchema: z.ZodType<JobPostingContent, z.ZodTypeDef, unknown>;
export declare function jobPostingContentFromJSON(jsonString: string): SafeParseResult<JobPostingContent, SDKValidationError>;
/** @internal */
export declare const JobPosting4$inboundSchema: z.ZodType<JobPosting4, z.ZodTypeDef, unknown>;
export declare function jobPosting4FromJSON(jsonString: string): SafeParseResult<JobPosting4, SDKValidationError>;
/** @internal */
export declare const JobPostingSourceValue$inboundSchema: z.ZodType<JobPostingSourceValue, z.ZodTypeDef, unknown>;
export declare function jobPostingSourceValueFromJSON(jsonString: string): SafeParseResult<JobPostingSourceValue, SDKValidationError>;
/** @internal */
export declare const JobPostingValue$inboundSchema: z.ZodType<JobPostingValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const JobPostingEmploymentContractType$inboundSchema: z.ZodType<JobPostingEmploymentContractType, z.ZodTypeDef, unknown>;
export declare function jobPostingEmploymentContractTypeFromJSON(jsonString: string): SafeParseResult<JobPostingEmploymentContractType, SDKValidationError>;
/** @internal */
export declare const JobPostingSchemas4$inboundSchema: z.ZodType<JobPostingSchemas4, z.ZodTypeDef, unknown>;
export declare function jobPostingSchemas4FromJSON(jsonString: string): SafeParseResult<JobPostingSchemas4, SDKValidationError>;
/** @internal */
export declare const JobPostingSchemasSourceValue$inboundSchema: z.ZodType<JobPostingSchemasSourceValue, z.ZodTypeDef, unknown>;
export declare function jobPostingSchemasSourceValueFromJSON(jsonString: string): SafeParseResult<JobPostingSchemasSourceValue, SDKValidationError>;
/** @internal */
export declare const JobPostingSchemasValue$inboundSchema: z.ZodType<JobPostingSchemasValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const JobPostingEmploymentType$inboundSchema: z.ZodType<JobPostingEmploymentType, z.ZodTypeDef, unknown>;
export declare function jobPostingEmploymentTypeFromJSON(jsonString: string): SafeParseResult<JobPostingEmploymentType, SDKValidationError>;
/** @internal */
export declare const Internal$inboundSchema: z.ZodType<InternalOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const JobPostingSchemasStatus4$inboundSchema: z.ZodType<JobPostingSchemasStatus4, z.ZodTypeDef, unknown>;
export declare function jobPostingSchemasStatus4FromJSON(jsonString: string): SafeParseResult<JobPostingSchemasStatus4, SDKValidationError>;
/** @internal */
export declare const JobPostingSchemasStatusSourceValue$inboundSchema: z.ZodType<JobPostingSchemasStatusSourceValue, z.ZodTypeDef, unknown>;
export declare function jobPostingSchemasStatusSourceValueFromJSON(jsonString: string): SafeParseResult<JobPostingSchemasStatusSourceValue, SDKValidationError>;
/** @internal */
export declare const JobPostingSchemasStatusValue$inboundSchema: z.ZodType<JobPostingSchemasStatusValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const JobPostingStatus$inboundSchema: z.ZodType<JobPostingStatus, z.ZodTypeDef, unknown>;
export declare function jobPostingStatusFromJSON(jsonString: string): SafeParseResult<JobPostingStatus, SDKValidationError>;
/** @internal */
export declare const JobPosting$inboundSchema: z.ZodType<JobPosting, z.ZodTypeDef, unknown>;
export declare function jobPostingFromJSON(jsonString: string): SafeParseResult<JobPosting, SDKValidationError>;
//# sourceMappingURL=jobposting.d.ts.map