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 InterviewPart4 = {};
/**
 * The source value of the interview type.
 */
export type InterviewPartSourceValue = string | number | boolean | InterviewPart4 | Array<any>;
/**
 * The type of the interview.
 */
export declare enum InterviewPartValue {
    Screening = "screening",
    Lunch = "lunch",
    OnSite = "on_site",
    Presentation = "presentation",
    Sell = "sell",
    Culture = "culture",
    Informal = "informal",
    Test = "test",
    Phone = "phone",
    Video = "video",
    UnmappedValue = "unmapped_value"
}
/**
 * The type of the interview.
 */
export type InterviewPartValueOpen = OpenEnum<typeof InterviewPartValue>;
export type InterviewPartType = {
    /**
     * The source value of the interview type.
     */
    sourceValue?: string | number | boolean | InterviewPart4 | Array<any> | null | undefined;
    /**
     * The type of the interview.
     */
    value?: InterviewPartValueOpen | null | undefined;
};
export type InterviewPart = {
    /**
     * Interview part created date
     */
    createdAt?: Date | null | undefined;
    /**
     * The specific interview part's end date
     */
    endAt?: Date | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * The user (interviewer) IDs taking part in this specific interview.
     */
    interviewerIds?: Array<string> | null | undefined;
    /**
     * The video meeting provider used for the interview.
     */
    meetingProvider?: string | null | undefined;
    /**
     * The meeting URL for the interview - this may be populated using the underlying location if the location string extracted is a valid url.
     */
    meetingUrl?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * Provider's user (interviewer) IDs taking part in this specific interview.
     */
    remoteInterviewerIds?: Array<string> | null | undefined;
    /**
     * The specific interview part's start date
     */
    startAt?: Date | null | undefined;
    /**
     * The title of interview, usually corresponding to the title of an associated calendar event
     */
    title?: string | null | undefined;
    type?: InterviewPartType | null | undefined;
    /**
     * Interview part updated date
     */
    updatedAt?: Date | null | undefined;
};
/** @internal */
export declare const InterviewPart4$inboundSchema: z.ZodType<InterviewPart4, z.ZodTypeDef, unknown>;
export declare function interviewPart4FromJSON(jsonString: string): SafeParseResult<InterviewPart4, SDKValidationError>;
/** @internal */
export declare const InterviewPartSourceValue$inboundSchema: z.ZodType<InterviewPartSourceValue, z.ZodTypeDef, unknown>;
export declare function interviewPartSourceValueFromJSON(jsonString: string): SafeParseResult<InterviewPartSourceValue, SDKValidationError>;
/** @internal */
export declare const InterviewPartValue$inboundSchema: z.ZodType<InterviewPartValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const InterviewPartType$inboundSchema: z.ZodType<InterviewPartType, z.ZodTypeDef, unknown>;
export declare function interviewPartTypeFromJSON(jsonString: string): SafeParseResult<InterviewPartType, SDKValidationError>;
/** @internal */
export declare const InterviewPart$inboundSchema: z.ZodType<InterviewPart, z.ZodTypeDef, unknown>;
export declare function interviewPartFromJSON(jsonString: string): SafeParseResult<InterviewPart, SDKValidationError>;
//# sourceMappingURL=interviewpart.d.ts.map