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";
import { Interviewer, Interviewer$Outbound } from "./interviewer.js";
import { InterviewPart, InterviewPart$Outbound } from "./interviewpart.js";
export type ScheduledInterviewInterviewStage = {
    /**
     * Interview Stage created date
     */
    createdAt?: Date | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    name?: string | null | undefined;
    order?: number | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * Custom Unified Fields configured in your StackOne project
     */
    unifiedCustomFields?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * Interview Stage updated date
     */
    updatedAt?: Date | null | undefined;
};
export type ScheduledInterview4 = {};
/**
 * The source value of the interview status.
 */
export type ScheduledInterviewSourceValue = ScheduledInterview4 | string | number | boolean | Array<any>;
/**
 * The status of the interview.
 */
export declare enum ScheduledInterviewValue {
    Unscheduled = "unscheduled",
    Scheduled = "scheduled",
    Completed = "completed",
    Cancelled = "cancelled",
    PendingFeedback = "pending_feedback",
    UnmappedValue = "unmapped_value"
}
/**
 * The status of the interview.
 */
export type ScheduledInterviewValueOpen = OpenEnum<typeof ScheduledInterviewValue>;
export type ScheduledInterviewInterviewStatus = {
    /**
     * The source value of the interview status.
     */
    sourceValue?: ScheduledInterview4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The status of the interview.
     */
    value?: ScheduledInterviewValueOpen | null | undefined;
};
export type ScheduledInterview = {
    applicationId?: string | null | undefined;
    /**
     * Interview created date
     */
    createdAt?: Date | null | undefined;
    /**
     * Interview end date
     */
    endAt?: Date | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    interviewParts?: Array<InterviewPart> | null | undefined;
    interviewStage?: ScheduledInterviewInterviewStage | null | undefined;
    interviewStageId?: string | null | undefined;
    interviewStatus?: ScheduledInterviewInterviewStatus | null | undefined;
    interviewerIds?: Array<string> | null | undefined;
    interviewers?: Array<Interviewer> | null | undefined;
    meetingUrl?: string | null | undefined;
    /**
     * Provider's unique identifier of the application
     */
    remoteApplicationId?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * Provider's unique identifier of the interview stage
     */
    remoteInterviewStageId?: string | null | undefined;
    /**
     * Provider's unique identifiers of the interviewers
     */
    remoteInterviewerIds?: Array<string> | null | undefined;
    /**
     * Interview start date
     */
    startAt?: Date | null | undefined;
    /**
     * Interview updated date
     */
    updatedAt?: Date | null | undefined;
};
/** @internal */
export declare const ScheduledInterviewInterviewStage$inboundSchema: z.ZodType<ScheduledInterviewInterviewStage, z.ZodTypeDef, unknown>;
/** @internal */
export type ScheduledInterviewInterviewStage$Outbound = {
    created_at?: string | null | undefined;
    id?: string | null | undefined;
    name?: string | null | undefined;
    order?: number | null | undefined;
    remote_id?: string | null | undefined;
    unified_custom_fields?: {
        [k: string]: any;
    } | null | undefined;
    updated_at?: string | null | undefined;
};
/** @internal */
export declare const ScheduledInterviewInterviewStage$outboundSchema: z.ZodType<ScheduledInterviewInterviewStage$Outbound, z.ZodTypeDef, ScheduledInterviewInterviewStage>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ScheduledInterviewInterviewStage$ {
    /** @deprecated use `ScheduledInterviewInterviewStage$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ScheduledInterviewInterviewStage, z.ZodTypeDef, unknown>;
    /** @deprecated use `ScheduledInterviewInterviewStage$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ScheduledInterviewInterviewStage$Outbound, z.ZodTypeDef, ScheduledInterviewInterviewStage>;
    /** @deprecated use `ScheduledInterviewInterviewStage$Outbound` instead. */
    type Outbound = ScheduledInterviewInterviewStage$Outbound;
}
export declare function scheduledInterviewInterviewStageToJSON(scheduledInterviewInterviewStage: ScheduledInterviewInterviewStage): string;
export declare function scheduledInterviewInterviewStageFromJSON(jsonString: string): SafeParseResult<ScheduledInterviewInterviewStage, SDKValidationError>;
/** @internal */
export declare const ScheduledInterview4$inboundSchema: z.ZodType<ScheduledInterview4, z.ZodTypeDef, unknown>;
/** @internal */
export type ScheduledInterview4$Outbound = {};
/** @internal */
export declare const ScheduledInterview4$outboundSchema: z.ZodType<ScheduledInterview4$Outbound, z.ZodTypeDef, ScheduledInterview4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ScheduledInterview4$ {
    /** @deprecated use `ScheduledInterview4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ScheduledInterview4, z.ZodTypeDef, unknown>;
    /** @deprecated use `ScheduledInterview4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ScheduledInterview4$Outbound, z.ZodTypeDef, ScheduledInterview4>;
    /** @deprecated use `ScheduledInterview4$Outbound` instead. */
    type Outbound = ScheduledInterview4$Outbound;
}
export declare function scheduledInterview4ToJSON(scheduledInterview4: ScheduledInterview4): string;
export declare function scheduledInterview4FromJSON(jsonString: string): SafeParseResult<ScheduledInterview4, SDKValidationError>;
/** @internal */
export declare const ScheduledInterviewSourceValue$inboundSchema: z.ZodType<ScheduledInterviewSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type ScheduledInterviewSourceValue$Outbound = ScheduledInterview4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const ScheduledInterviewSourceValue$outboundSchema: z.ZodType<ScheduledInterviewSourceValue$Outbound, z.ZodTypeDef, ScheduledInterviewSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ScheduledInterviewSourceValue$ {
    /** @deprecated use `ScheduledInterviewSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ScheduledInterviewSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `ScheduledInterviewSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ScheduledInterviewSourceValue$Outbound, z.ZodTypeDef, ScheduledInterviewSourceValue>;
    /** @deprecated use `ScheduledInterviewSourceValue$Outbound` instead. */
    type Outbound = ScheduledInterviewSourceValue$Outbound;
}
export declare function scheduledInterviewSourceValueToJSON(scheduledInterviewSourceValue: ScheduledInterviewSourceValue): string;
export declare function scheduledInterviewSourceValueFromJSON(jsonString: string): SafeParseResult<ScheduledInterviewSourceValue, SDKValidationError>;
/** @internal */
export declare const ScheduledInterviewValue$inboundSchema: z.ZodType<ScheduledInterviewValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const ScheduledInterviewValue$outboundSchema: z.ZodType<ScheduledInterviewValueOpen, z.ZodTypeDef, ScheduledInterviewValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ScheduledInterviewValue$ {
    /** @deprecated use `ScheduledInterviewValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ScheduledInterviewValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `ScheduledInterviewValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ScheduledInterviewValueOpen, z.ZodTypeDef, ScheduledInterviewValueOpen>;
}
/** @internal */
export declare const ScheduledInterviewInterviewStatus$inboundSchema: z.ZodType<ScheduledInterviewInterviewStatus, z.ZodTypeDef, unknown>;
/** @internal */
export type ScheduledInterviewInterviewStatus$Outbound = {
    source_value?: ScheduledInterview4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const ScheduledInterviewInterviewStatus$outboundSchema: z.ZodType<ScheduledInterviewInterviewStatus$Outbound, z.ZodTypeDef, ScheduledInterviewInterviewStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ScheduledInterviewInterviewStatus$ {
    /** @deprecated use `ScheduledInterviewInterviewStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ScheduledInterviewInterviewStatus, z.ZodTypeDef, unknown>;
    /** @deprecated use `ScheduledInterviewInterviewStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ScheduledInterviewInterviewStatus$Outbound, z.ZodTypeDef, ScheduledInterviewInterviewStatus>;
    /** @deprecated use `ScheduledInterviewInterviewStatus$Outbound` instead. */
    type Outbound = ScheduledInterviewInterviewStatus$Outbound;
}
export declare function scheduledInterviewInterviewStatusToJSON(scheduledInterviewInterviewStatus: ScheduledInterviewInterviewStatus): string;
export declare function scheduledInterviewInterviewStatusFromJSON(jsonString: string): SafeParseResult<ScheduledInterviewInterviewStatus, SDKValidationError>;
/** @internal */
export declare const ScheduledInterview$inboundSchema: z.ZodType<ScheduledInterview, z.ZodTypeDef, unknown>;
/** @internal */
export type ScheduledInterview$Outbound = {
    application_id?: string | null | undefined;
    created_at?: string | null | undefined;
    end_at?: string | null | undefined;
    id?: string | null | undefined;
    interview_parts?: Array<InterviewPart$Outbound> | null | undefined;
    interview_stage?: ScheduledInterviewInterviewStage$Outbound | null | undefined;
    interview_stage_id?: string | null | undefined;
    interview_status?: ScheduledInterviewInterviewStatus$Outbound | null | undefined;
    interviewer_ids?: Array<string> | null | undefined;
    interviewers?: Array<Interviewer$Outbound> | null | undefined;
    meeting_url?: string | null | undefined;
    remote_application_id?: string | null | undefined;
    remote_id?: string | null | undefined;
    remote_interview_stage_id?: string | null | undefined;
    remote_interviewer_ids?: Array<string> | null | undefined;
    start_at?: string | null | undefined;
    updated_at?: string | null | undefined;
};
/** @internal */
export declare const ScheduledInterview$outboundSchema: z.ZodType<ScheduledInterview$Outbound, z.ZodTypeDef, ScheduledInterview>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ScheduledInterview$ {
    /** @deprecated use `ScheduledInterview$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ScheduledInterview, z.ZodTypeDef, unknown>;
    /** @deprecated use `ScheduledInterview$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ScheduledInterview$Outbound, z.ZodTypeDef, ScheduledInterview>;
    /** @deprecated use `ScheduledInterview$Outbound` instead. */
    type Outbound = ScheduledInterview$Outbound;
}
export declare function scheduledInterviewToJSON(scheduledInterview: ScheduledInterview): string;
export declare function scheduledInterviewFromJSON(jsonString: string): SafeParseResult<ScheduledInterview, SDKValidationError>;
//# sourceMappingURL=scheduledinterview.d.ts.map