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";
export type InterviewPart4 = {};
/**
 * The source value of the interview type.
 */
export type InterviewPartSourceValue = InterviewPart4 | string | number | boolean | 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?: InterviewPart4 | string | number | boolean | 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>;
/** @internal */
export type InterviewPart4$Outbound = {};
/** @internal */
export declare const InterviewPart4$outboundSchema: z.ZodType<InterviewPart4$Outbound, z.ZodTypeDef, InterviewPart4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace InterviewPart4$ {
    /** @deprecated use `InterviewPart4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<InterviewPart4, z.ZodTypeDef, unknown>;
    /** @deprecated use `InterviewPart4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<InterviewPart4$Outbound, z.ZodTypeDef, InterviewPart4>;
    /** @deprecated use `InterviewPart4$Outbound` instead. */
    type Outbound = InterviewPart4$Outbound;
}
export declare function interviewPart4ToJSON(interviewPart4: InterviewPart4): string;
export declare function interviewPart4FromJSON(jsonString: string): SafeParseResult<InterviewPart4, SDKValidationError>;
/** @internal */
export declare const InterviewPartSourceValue$inboundSchema: z.ZodType<InterviewPartSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type InterviewPartSourceValue$Outbound = InterviewPart4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const InterviewPartSourceValue$outboundSchema: z.ZodType<InterviewPartSourceValue$Outbound, z.ZodTypeDef, InterviewPartSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace InterviewPartSourceValue$ {
    /** @deprecated use `InterviewPartSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<InterviewPartSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `InterviewPartSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<InterviewPartSourceValue$Outbound, z.ZodTypeDef, InterviewPartSourceValue>;
    /** @deprecated use `InterviewPartSourceValue$Outbound` instead. */
    type Outbound = InterviewPartSourceValue$Outbound;
}
export declare function interviewPartSourceValueToJSON(interviewPartSourceValue: InterviewPartSourceValue): string;
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 InterviewPartValue$outboundSchema: z.ZodType<InterviewPartValueOpen, z.ZodTypeDef, InterviewPartValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace InterviewPartValue$ {
    /** @deprecated use `InterviewPartValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<InterviewPartValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `InterviewPartValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<InterviewPartValueOpen, z.ZodTypeDef, InterviewPartValueOpen>;
}
/** @internal */
export declare const InterviewPartType$inboundSchema: z.ZodType<InterviewPartType, z.ZodTypeDef, unknown>;
/** @internal */
export type InterviewPartType$Outbound = {
    source_value?: InterviewPart4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const InterviewPartType$outboundSchema: z.ZodType<InterviewPartType$Outbound, z.ZodTypeDef, InterviewPartType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace InterviewPartType$ {
    /** @deprecated use `InterviewPartType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<InterviewPartType, z.ZodTypeDef, unknown>;
    /** @deprecated use `InterviewPartType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<InterviewPartType$Outbound, z.ZodTypeDef, InterviewPartType>;
    /** @deprecated use `InterviewPartType$Outbound` instead. */
    type Outbound = InterviewPartType$Outbound;
}
export declare function interviewPartTypeToJSON(interviewPartType: InterviewPartType): string;
export declare function interviewPartTypeFromJSON(jsonString: string): SafeParseResult<InterviewPartType, SDKValidationError>;
/** @internal */
export declare const InterviewPart$inboundSchema: z.ZodType<InterviewPart, z.ZodTypeDef, unknown>;
/** @internal */
export type InterviewPart$Outbound = {
    created_at?: string | null | undefined;
    end_at?: string | null | undefined;
    id?: string | null | undefined;
    interviewer_ids?: Array<string> | null | undefined;
    meeting_provider?: string | null | undefined;
    meeting_url?: string | null | undefined;
    remote_id?: string | null | undefined;
    remote_interviewer_ids?: Array<string> | null | undefined;
    start_at?: string | null | undefined;
    title?: string | null | undefined;
    type?: InterviewPartType$Outbound | null | undefined;
    updated_at?: string | null | undefined;
};
/** @internal */
export declare const InterviewPart$outboundSchema: z.ZodType<InterviewPart$Outbound, z.ZodTypeDef, InterviewPart>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace InterviewPart$ {
    /** @deprecated use `InterviewPart$inboundSchema` instead. */
    const inboundSchema: z.ZodType<InterviewPart, z.ZodTypeDef, unknown>;
    /** @deprecated use `InterviewPart$outboundSchema` instead. */
    const outboundSchema: z.ZodType<InterviewPart$Outbound, z.ZodTypeDef, InterviewPart>;
    /** @deprecated use `InterviewPart$Outbound` instead. */
    type Outbound = InterviewPart$Outbound;
}
export declare function interviewPartToJSON(interviewPart: InterviewPart): string;
export declare function interviewPartFromJSON(jsonString: string): SafeParseResult<InterviewPart, SDKValidationError>;
//# sourceMappingURL=interviewpart.d.ts.map