import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { CompletionTrainingParameters } from "./completiontrainingparameters.js";
import { GithubRepositoryOut } from "./githubrepositoryout.js";
import { JobMetadataOut } from "./jobmetadataout.js";
import { WandbIntegrationOut } from "./wandbintegrationout.js";
/**
 * The current status of the fine-tuning job.
 */
export declare const Status: {
    readonly Queued: "QUEUED";
    readonly Started: "STARTED";
    readonly Validating: "VALIDATING";
    readonly Validated: "VALIDATED";
    readonly Running: "RUNNING";
    readonly FailedValidation: "FAILED_VALIDATION";
    readonly Failed: "FAILED";
    readonly Success: "SUCCESS";
    readonly Cancelled: "CANCELLED";
    readonly CancellationRequested: "CANCELLATION_REQUESTED";
};
/**
 * The current status of the fine-tuning job.
 */
export type Status = ClosedEnum<typeof Status>;
export type Integrations = WandbIntegrationOut;
export type Repositories = GithubRepositoryOut;
export type CompletionJobOut = {
    /**
     * The ID of the job.
     */
    id: string;
    autoStart: boolean;
    model: string;
    /**
     * The current status of the fine-tuning job.
     */
    status: Status;
    /**
     * The UNIX timestamp (in seconds) for when the fine-tuning job was created.
     */
    createdAt: number;
    /**
     * The UNIX timestamp (in seconds) for when the fine-tuning job was last modified.
     */
    modifiedAt: number;
    /**
     * A list containing the IDs of uploaded files that contain training data.
     */
    trainingFiles: Array<string>;
    /**
     * A list containing the IDs of uploaded files that contain validation data.
     */
    validationFiles?: Array<string> | null | undefined;
    /**
     * The object type of the fine-tuning job.
     */
    object?: "job" | undefined;
    /**
     * The name of the fine-tuned model that is being created. The value will be `null` if the fine-tuning job is still running.
     */
    fineTunedModel?: string | null | undefined;
    /**
     * Optional text/code that adds more context for the model. When given a `prompt` and a `suffix` the model will fill what is between them. When `suffix` is not provided, the model will simply execute completion starting with `prompt`.
     */
    suffix?: string | null | undefined;
    /**
     * A list of integrations enabled for your fine-tuning job.
     */
    integrations?: Array<WandbIntegrationOut> | null | undefined;
    /**
     * Total number of tokens trained.
     */
    trainedTokens?: number | null | undefined;
    metadata?: JobMetadataOut | null | undefined;
    /**
     * The type of job (`FT` for fine-tuning).
     */
    jobType?: "completion" | undefined;
    hyperparameters: CompletionTrainingParameters;
    repositories?: Array<GithubRepositoryOut> | undefined;
};
/** @internal */
export declare const Status$inboundSchema: z.ZodNativeEnum<typeof Status>;
/** @internal */
export declare const Integrations$inboundSchema: z.ZodType<Integrations, z.ZodTypeDef, unknown>;
export declare function integrationsFromJSON(jsonString: string): SafeParseResult<Integrations, SDKValidationError>;
/** @internal */
export declare const Repositories$inboundSchema: z.ZodType<Repositories, z.ZodTypeDef, unknown>;
export declare function repositoriesFromJSON(jsonString: string): SafeParseResult<Repositories, SDKValidationError>;
/** @internal */
export declare const CompletionJobOut$inboundSchema: z.ZodType<CompletionJobOut, z.ZodTypeDef, unknown>;
export declare function completionJobOutFromJSON(jsonString: string): SafeParseResult<CompletionJobOut, SDKValidationError>;
//# sourceMappingURL=completionjobout.d.ts.map