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 { Interviewer } from "./interviewer.js";
import { InterviewPart } from "./interviewpart.js";
export type InterviewInterviewStage = {
    /**
     * 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 Interview4 = {};
/**
 * The source value of the interview status.
 */
export type InterviewSourceValue = string | number | boolean | Interview4 | Array<any>;
/**
 * The status of the interview.
 */
export declare enum InterviewValue {
    Unscheduled = "unscheduled",
    Scheduled = "scheduled",
    Completed = "completed",
    Cancelled = "cancelled",
    PendingFeedback = "pending_feedback",
    UnmappedValue = "unmapped_value"
}
/**
 * The status of the interview.
 */
export type InterviewValueOpen = OpenEnum<typeof InterviewValue>;
export type InterviewStatus = {
    /**
     * The source value of the interview status.
     */
    sourceValue?: string | number | boolean | Interview4 | Array<any> | null | undefined;
    /**
     * The status of the interview.
     */
    value?: InterviewValueOpen | null | undefined;
};
export type Interview = {
    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?: InterviewInterviewStage | null | undefined;
    interviewStageId?: string | null | undefined;
    interviewStatus?: InterviewStatus | 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;
    /**
     * Custom Unified Fields configured in your StackOne project
     */
    unifiedCustomFields?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * Interview updated date
     */
    updatedAt?: Date | null | undefined;
};
/** @internal */
export declare const InterviewInterviewStage$inboundSchema: z.ZodType<InterviewInterviewStage, z.ZodTypeDef, unknown>;
export declare function interviewInterviewStageFromJSON(jsonString: string): SafeParseResult<InterviewInterviewStage, SDKValidationError>;
/** @internal */
export declare const Interview4$inboundSchema: z.ZodType<Interview4, z.ZodTypeDef, unknown>;
export declare function interview4FromJSON(jsonString: string): SafeParseResult<Interview4, SDKValidationError>;
/** @internal */
export declare const InterviewSourceValue$inboundSchema: z.ZodType<InterviewSourceValue, z.ZodTypeDef, unknown>;
export declare function interviewSourceValueFromJSON(jsonString: string): SafeParseResult<InterviewSourceValue, SDKValidationError>;
/** @internal */
export declare const InterviewValue$inboundSchema: z.ZodType<InterviewValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const InterviewStatus$inboundSchema: z.ZodType<InterviewStatus, z.ZodTypeDef, unknown>;
export declare function interviewStatusFromJSON(jsonString: string): SafeParseResult<InterviewStatus, SDKValidationError>;
/** @internal */
export declare const Interview$inboundSchema: z.ZodType<Interview, z.ZodTypeDef, unknown>;
export declare function interviewFromJSON(jsonString: string): SafeParseResult<Interview, SDKValidationError>;
//# sourceMappingURL=interview.d.ts.map