import _m0 from 'protobufjs/minimal';
import { Duration } from '../../../../../google/protobuf/duration';
export declare const protobufPackage = "yandex.cloud.datasphere.v2.jobs";
export declare enum FileCompressionType {
    FILE_COMPRESSION_TYPE_UNSPECIFIED = 0,
    NONE = 1,
    ZIP = 2,
    UNRECOGNIZED = -1
}
export declare function fileCompressionTypeFromJSON(object: any): FileCompressionType;
export declare function fileCompressionTypeToJSON(object: FileCompressionType): string;
export declare enum JobStatus {
    JOB_STATUS_UNSPECIFIED = 0,
    CREATING = 1,
    EXECUTING = 2,
    UPLOADING_OUTPUT = 3,
    SUCCESS = 4,
    ERROR = 5,
    CANCELLED = 6,
    CANCELLING = 7,
    PREPARING = 8,
    UNRECOGNIZED = -1
}
export declare function jobStatusFromJSON(object: any): JobStatus;
export declare function jobStatusToJSON(object: JobStatus): string;
/** Job parameters. */
export interface JobParameters {
    /** List of input files. */
    inputFiles: File[];
    /** List of output files descriptions. */
    outputFiles: FileDesc[];
    /** List of DataSphere S3 mount ids. */
    s3MountIds: string[];
    /** List of DataSphere dataset ids. */
    datasetIds: string[];
    /** Job run command. */
    cmd: string;
    /** Job environment description. */
    env?: Environment;
    /** Should project disk be attached to VM. */
    attachProjectDisk: boolean;
    /** VM specification. */
    cloudInstanceTypes: CloudInstanceType[];
    /** Extended working storage configuration. */
    extendedWorkingStorage?: ExtendedWorkingStorage;
    /** List of literal arguments. */
    arguments: Argument[];
    /** List of DataSets descriptions to create. */
    outputDatasets: OutputDatasetDesc[];
    /** Graceful shutdown settings. */
    gracefulShutdownParameters?: GracefulShutdownParameters;
    /** Spark connector settings. */
    sparkParameters?: SparkParameters;
}
export interface CloudInstanceType {
    /** Name of DataSphere VM configuration. */
    name: string;
}
/** Extended working storage configuration. */
export interface ExtendedWorkingStorage {
    type: ExtendedWorkingStorage_StorageType;
    sizeGb: number;
}
export declare enum ExtendedWorkingStorage_StorageType {
    STORAGE_TYPE_UNSPECIFIED = 0,
    SSD = 1,
    UNRECOGNIZED = -1
}
export declare function extendedWorkingStorage_StorageTypeFromJSON(object: any): ExtendedWorkingStorage_StorageType;
export declare function extendedWorkingStorage_StorageTypeToJSON(object: ExtendedWorkingStorage_StorageType): string;
export interface Argument {
    name: string;
    value: string;
}
export interface File {
    desc?: FileDesc;
    /** SHA256 of the file. */
    sha256: string;
    /** File size in bytes. */
    sizeBytes: number;
    /** File compression info */
    compressionType: FileCompressionType;
}
export interface StorageFile {
    file?: File;
    /** File URL. */
    url: string;
}
export interface FileDesc {
    /** Path of the file on filesystem. */
    path: string;
    /** Variable to use in cmd substitution. */
    var: string;
}
export interface FileUploadError {
    outputFileDesc?: FileDesc | undefined;
    logFileName: string | undefined;
    description: string;
    type: FileUploadError_ErrorType;
}
export declare enum FileUploadError_ErrorType {
    ERROR_TYPE_UNSPECIFIED = 0,
    UPLOAD_FAILED = 1,
    NOT_FOUND = 2,
    UNRECOGNIZED = -1
}
export declare function fileUploadError_ErrorTypeFromJSON(object: any): FileUploadError_ErrorType;
export declare function fileUploadError_ErrorTypeToJSON(object: FileUploadError_ErrorType): string;
export interface Environment {
    /** Environment variables. */
    vars: {
        [key: string]: string;
    };
    /** DS docker image id. */
    dockerImageResourceId: string | undefined;
    dockerImageSpec?: DockerImageSpec | undefined;
    pythonEnv?: PythonEnv;
}
export interface Environment_VarsEntry {
    key: string;
    value: string;
}
export interface DockerImageSpec {
    /** Docker image URL. */
    imageUrl: string;
    /** Username for container registry. */
    username: string;
    /** Plaintext password. */
    passwordPlainText: string | undefined;
    /** ID of DataSphere secret containing password. */
    passwordDsSecretName: string | undefined;
}
export interface PythonEnv {
    /** Conda YAML. */
    condaYaml: string;
    /** List of local modules descriptions. */
    localModules: File[];
    /** Python version reduced to major.minor */
    pythonVersion: string;
    /** List of pip requirements */
    requirements: string[];
    /** Pip install options */
    pipOptions?: PipOptions;
}
export interface PipOptions {
    /** --index-url option */
    indexUrl: string;
    /** --extra-index-urls option */
    extraIndexUrls: string[];
    /** --trusted-hosts option */
    trustedHosts: string[];
    /** --no-deps option */
    noDeps: boolean;
}
export interface OutputDatasetDesc {
    /** Name to create dataset with */
    name: string;
    /** Description to show in UI */
    description: string;
    labels: {
        [key: string]: string;
    };
    /** Size of dataset to create */
    sizeGb: number;
    /** Var name to replace in cmd, like in FileDesc */
    var: string;
}
export interface OutputDatasetDesc_LabelsEntry {
    key: string;
    value: string;
}
export interface OutputDataset {
    /** Dataset description */
    desc?: OutputDatasetDesc;
    /** Id of created dataset */
    id: string;
}
/** Instance of the job. */
export interface Job {
    /** ID of the job. */
    id: string;
    /** Name of the job. */
    name: string;
    /** Description of the job. */
    desc: string;
    /** Create job timestamp. */
    createdAt?: Date;
    /** Finish job timestamp. */
    finishedAt?: Date;
    /** Status of the job. */
    status: JobStatus;
    /** Config of the job, copied from configuration file. */
    config: string;
    /** ID of the user who created the job. */
    createdById: string;
    /** ID of the project. */
    projectId: string;
    jobParameters?: JobParameters;
    /** Job data expiration timestamp. */
    dataExpiresAt?: Date;
    /** Marks if the job data has been cleared. */
    dataCleared: boolean;
    /** Output files of the job. */
    outputFiles: File[];
    /** Job log files. */
    logFiles: File[];
    /** Job diagnostics files. */
    diagnosticFiles: File[];
    /** Job total data size. */
    dataSizeBytes: number;
    /** Start job timestamp. */
    startedAt?: Date;
    /** Details. */
    statusDetails: string;
    /** Actual VM instance type, job is running on. */
    actualCloudInstanceType?: CloudInstanceType;
    /** Reference to the parent job. */
    parentJobId: string;
    /** Failed uploads. */
    fileErrors: FileUploadError[];
    /** Created datasets. */
    outputDatasets: OutputDataset[];
}
export interface JobResult {
    /** Execution return code. */
    returnCode: number;
}
export interface GracefulShutdownParameters {
    timeout?: Duration;
    /** default 15 (SIGTERM) */
    signal: number;
}
export interface JobMetadata {
    /** ID of the job. */
    id: string;
    /** Name of the job. */
    name: string;
    /** Description of the job. */
    description: string;
    /** Create job timestamp. */
    createdAt?: Date;
    /** Start job timestamp. */
    startedAt?: Date;
    /** Finish job timestamp. */
    finishedAt?: Date;
    /** Job data expiration timestamp. */
    dataExpiresAt?: Date;
    /** Status of the job. */
    status: JobStatus;
    /** Details. */
    statusDetails: string;
    /** ID of the user who created the job. */
    createdById: string;
    /** ID of the project. */
    projectId: string;
    /** Reference to the parent job. */
    parentJobId: string;
}
export interface JobProgress {
    /** Progress message */
    message: string;
    /** Progress of the job from 0 to 100 */
    progress: number;
    /** Progress create time */
    createTime?: Date;
}
export interface SparkParameters {
    /** ID of the Spark connector. */
    connectorId: string;
}
export declare const JobParameters: {
    encode(message: JobParameters, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): JobParameters;
    fromJSON(object: any): JobParameters;
    toJSON(message: JobParameters): unknown;
    fromPartial<I extends {
        inputFiles?: {
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        }[] | undefined;
        outputFiles?: {
            path?: string | undefined;
            var?: string | undefined;
        }[] | undefined;
        s3MountIds?: string[] | undefined;
        datasetIds?: string[] | undefined;
        cmd?: string | undefined;
        env?: {
            vars?: {
                [x: string]: string | undefined;
            } | undefined;
            dockerImageResourceId?: string | undefined;
            dockerImageSpec?: {
                imageUrl?: string | undefined;
                username?: string | undefined;
                passwordPlainText?: string | undefined;
                passwordDsSecretName?: string | undefined;
            } | undefined;
            pythonEnv?: {
                condaYaml?: string | undefined;
                localModules?: {
                    desc?: {
                        path?: string | undefined;
                        var?: string | undefined;
                    } | undefined;
                    sha256?: string | undefined;
                    sizeBytes?: number | undefined;
                    compressionType?: FileCompressionType | undefined;
                }[] | undefined;
                pythonVersion?: string | undefined;
                requirements?: string[] | undefined;
                pipOptions?: {
                    indexUrl?: string | undefined;
                    extraIndexUrls?: string[] | undefined;
                    trustedHosts?: string[] | undefined;
                    noDeps?: boolean | undefined;
                } | undefined;
            } | undefined;
        } | undefined;
        attachProjectDisk?: boolean | undefined;
        cloudInstanceTypes?: {
            name?: string | undefined;
        }[] | undefined;
        extendedWorkingStorage?: {
            type?: ExtendedWorkingStorage_StorageType | undefined;
            sizeGb?: number | undefined;
        } | undefined;
        arguments?: {
            name?: string | undefined;
            value?: string | undefined;
        }[] | undefined;
        outputDatasets?: {
            name?: string | undefined;
            description?: string | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
            sizeGb?: number | undefined;
            var?: string | undefined;
        }[] | undefined;
        gracefulShutdownParameters?: {
            timeout?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            signal?: number | undefined;
        } | undefined;
        sparkParameters?: {
            connectorId?: string | undefined;
        } | undefined;
    } & {
        inputFiles?: ({
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        }[] & ({
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        } & {
            desc?: ({
                path?: string | undefined;
                var?: string | undefined;
            } & {
                path?: string | undefined;
                var?: string | undefined;
            } & Record<Exclude<keyof I["inputFiles"][number]["desc"], keyof FileDesc>, never>) | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        } & Record<Exclude<keyof I["inputFiles"][number], keyof File>, never>)[] & Record<Exclude<keyof I["inputFiles"], keyof {
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        }[]>, never>) | undefined;
        outputFiles?: ({
            path?: string | undefined;
            var?: string | undefined;
        }[] & ({
            path?: string | undefined;
            var?: string | undefined;
        } & {
            path?: string | undefined;
            var?: string | undefined;
        } & Record<Exclude<keyof I["outputFiles"][number], keyof FileDesc>, never>)[] & Record<Exclude<keyof I["outputFiles"], keyof {
            path?: string | undefined;
            var?: string | undefined;
        }[]>, never>) | undefined;
        s3MountIds?: (string[] & string[] & Record<Exclude<keyof I["s3MountIds"], keyof string[]>, never>) | undefined;
        datasetIds?: (string[] & string[] & Record<Exclude<keyof I["datasetIds"], keyof string[]>, never>) | undefined;
        cmd?: string | undefined;
        env?: ({
            vars?: {
                [x: string]: string | undefined;
            } | undefined;
            dockerImageResourceId?: string | undefined;
            dockerImageSpec?: {
                imageUrl?: string | undefined;
                username?: string | undefined;
                passwordPlainText?: string | undefined;
                passwordDsSecretName?: string | undefined;
            } | undefined;
            pythonEnv?: {
                condaYaml?: string | undefined;
                localModules?: {
                    desc?: {
                        path?: string | undefined;
                        var?: string | undefined;
                    } | undefined;
                    sha256?: string | undefined;
                    sizeBytes?: number | undefined;
                    compressionType?: FileCompressionType | undefined;
                }[] | undefined;
                pythonVersion?: string | undefined;
                requirements?: string[] | undefined;
                pipOptions?: {
                    indexUrl?: string | undefined;
                    extraIndexUrls?: string[] | undefined;
                    trustedHosts?: string[] | undefined;
                    noDeps?: boolean | undefined;
                } | undefined;
            } | undefined;
        } & {
            vars?: ({
                [x: string]: string | undefined;
            } & {
                [x: string]: string | undefined;
            } & Record<Exclude<keyof I["env"]["vars"], string | number>, never>) | undefined;
            dockerImageResourceId?: string | undefined;
            dockerImageSpec?: ({
                imageUrl?: string | undefined;
                username?: string | undefined;
                passwordPlainText?: string | undefined;
                passwordDsSecretName?: string | undefined;
            } & {
                imageUrl?: string | undefined;
                username?: string | undefined;
                passwordPlainText?: string | undefined;
                passwordDsSecretName?: string | undefined;
            } & Record<Exclude<keyof I["env"]["dockerImageSpec"], keyof DockerImageSpec>, never>) | undefined;
            pythonEnv?: ({
                condaYaml?: string | undefined;
                localModules?: {
                    desc?: {
                        path?: string | undefined;
                        var?: string | undefined;
                    } | undefined;
                    sha256?: string | undefined;
                    sizeBytes?: number | undefined;
                    compressionType?: FileCompressionType | undefined;
                }[] | undefined;
                pythonVersion?: string | undefined;
                requirements?: string[] | undefined;
                pipOptions?: {
                    indexUrl?: string | undefined;
                    extraIndexUrls?: string[] | undefined;
                    trustedHosts?: string[] | undefined;
                    noDeps?: boolean | undefined;
                } | undefined;
            } & {
                condaYaml?: string | undefined;
                localModules?: ({
                    desc?: {
                        path?: string | undefined;
                        var?: string | undefined;
                    } | undefined;
                    sha256?: string | undefined;
                    sizeBytes?: number | undefined;
                    compressionType?: FileCompressionType | undefined;
                }[] & ({
                    desc?: {
                        path?: string | undefined;
                        var?: string | undefined;
                    } | undefined;
                    sha256?: string | undefined;
                    sizeBytes?: number | undefined;
                    compressionType?: FileCompressionType | undefined;
                } & {
                    desc?: ({
                        path?: string | undefined;
                        var?: string | undefined;
                    } & {
                        path?: string | undefined;
                        var?: string | undefined;
                    } & Record<Exclude<keyof I["env"]["pythonEnv"]["localModules"][number]["desc"], keyof FileDesc>, never>) | undefined;
                    sha256?: string | undefined;
                    sizeBytes?: number | undefined;
                    compressionType?: FileCompressionType | undefined;
                } & Record<Exclude<keyof I["env"]["pythonEnv"]["localModules"][number], keyof File>, never>)[] & Record<Exclude<keyof I["env"]["pythonEnv"]["localModules"], keyof {
                    desc?: {
                        path?: string | undefined;
                        var?: string | undefined;
                    } | undefined;
                    sha256?: string | undefined;
                    sizeBytes?: number | undefined;
                    compressionType?: FileCompressionType | undefined;
                }[]>, never>) | undefined;
                pythonVersion?: string | undefined;
                requirements?: (string[] & string[] & Record<Exclude<keyof I["env"]["pythonEnv"]["requirements"], keyof string[]>, never>) | undefined;
                pipOptions?: ({
                    indexUrl?: string | undefined;
                    extraIndexUrls?: string[] | undefined;
                    trustedHosts?: string[] | undefined;
                    noDeps?: boolean | undefined;
                } & {
                    indexUrl?: string | undefined;
                    extraIndexUrls?: (string[] & string[] & Record<Exclude<keyof I["env"]["pythonEnv"]["pipOptions"]["extraIndexUrls"], keyof string[]>, never>) | undefined;
                    trustedHosts?: (string[] & string[] & Record<Exclude<keyof I["env"]["pythonEnv"]["pipOptions"]["trustedHosts"], keyof string[]>, never>) | undefined;
                    noDeps?: boolean | undefined;
                } & Record<Exclude<keyof I["env"]["pythonEnv"]["pipOptions"], keyof PipOptions>, never>) | undefined;
            } & Record<Exclude<keyof I["env"]["pythonEnv"], keyof PythonEnv>, never>) | undefined;
        } & Record<Exclude<keyof I["env"], keyof Environment>, never>) | undefined;
        attachProjectDisk?: boolean | undefined;
        cloudInstanceTypes?: ({
            name?: string | undefined;
        }[] & ({
            name?: string | undefined;
        } & {
            name?: string | undefined;
        } & Record<Exclude<keyof I["cloudInstanceTypes"][number], "name">, never>)[] & Record<Exclude<keyof I["cloudInstanceTypes"], keyof {
            name?: string | undefined;
        }[]>, never>) | undefined;
        extendedWorkingStorage?: ({
            type?: ExtendedWorkingStorage_StorageType | undefined;
            sizeGb?: number | undefined;
        } & {
            type?: ExtendedWorkingStorage_StorageType | undefined;
            sizeGb?: number | undefined;
        } & Record<Exclude<keyof I["extendedWorkingStorage"], keyof ExtendedWorkingStorage>, never>) | undefined;
        arguments?: ({
            name?: string | undefined;
            value?: string | undefined;
        }[] & ({
            name?: string | undefined;
            value?: string | undefined;
        } & {
            name?: string | undefined;
            value?: string | undefined;
        } & Record<Exclude<keyof I["arguments"][number], keyof Argument>, never>)[] & Record<Exclude<keyof I["arguments"], keyof {
            name?: string | undefined;
            value?: string | undefined;
        }[]>, never>) | undefined;
        outputDatasets?: ({
            name?: string | undefined;
            description?: string | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
            sizeGb?: number | undefined;
            var?: string | undefined;
        }[] & ({
            name?: string | undefined;
            description?: string | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
            sizeGb?: number | undefined;
            var?: string | undefined;
        } & {
            name?: string | undefined;
            description?: string | undefined;
            labels?: ({
                [x: string]: string | undefined;
            } & {
                [x: string]: string | undefined;
            } & Record<Exclude<keyof I["outputDatasets"][number]["labels"], string | number>, never>) | undefined;
            sizeGb?: number | undefined;
            var?: string | undefined;
        } & Record<Exclude<keyof I["outputDatasets"][number], keyof OutputDatasetDesc>, never>)[] & Record<Exclude<keyof I["outputDatasets"], keyof {
            name?: string | undefined;
            description?: string | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
            sizeGb?: number | undefined;
            var?: string | undefined;
        }[]>, never>) | undefined;
        gracefulShutdownParameters?: ({
            timeout?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            signal?: number | undefined;
        } & {
            timeout?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & Record<Exclude<keyof I["gracefulShutdownParameters"]["timeout"], keyof Duration>, never>) | undefined;
            signal?: number | undefined;
        } & Record<Exclude<keyof I["gracefulShutdownParameters"], keyof GracefulShutdownParameters>, never>) | undefined;
        sparkParameters?: ({
            connectorId?: string | undefined;
        } & {
            connectorId?: string | undefined;
        } & Record<Exclude<keyof I["sparkParameters"], "connectorId">, never>) | undefined;
    } & Record<Exclude<keyof I, keyof JobParameters>, never>>(object: I): JobParameters;
};
export declare const CloudInstanceType: {
    encode(message: CloudInstanceType, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CloudInstanceType;
    fromJSON(object: any): CloudInstanceType;
    toJSON(message: CloudInstanceType): unknown;
    fromPartial<I extends {
        name?: string | undefined;
    } & {
        name?: string | undefined;
    } & Record<Exclude<keyof I, "name">, never>>(object: I): CloudInstanceType;
};
export declare const ExtendedWorkingStorage: {
    encode(message: ExtendedWorkingStorage, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ExtendedWorkingStorage;
    fromJSON(object: any): ExtendedWorkingStorage;
    toJSON(message: ExtendedWorkingStorage): unknown;
    fromPartial<I extends {
        type?: ExtendedWorkingStorage_StorageType | undefined;
        sizeGb?: number | undefined;
    } & {
        type?: ExtendedWorkingStorage_StorageType | undefined;
        sizeGb?: number | undefined;
    } & Record<Exclude<keyof I, keyof ExtendedWorkingStorage>, never>>(object: I): ExtendedWorkingStorage;
};
export declare const Argument: {
    encode(message: Argument, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Argument;
    fromJSON(object: any): Argument;
    toJSON(message: Argument): unknown;
    fromPartial<I extends {
        name?: string | undefined;
        value?: string | undefined;
    } & {
        name?: string | undefined;
        value?: string | undefined;
    } & Record<Exclude<keyof I, keyof Argument>, never>>(object: I): Argument;
};
export declare const File: {
    encode(message: File, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): File;
    fromJSON(object: any): File;
    toJSON(message: File): unknown;
    fromPartial<I extends {
        desc?: {
            path?: string | undefined;
            var?: string | undefined;
        } | undefined;
        sha256?: string | undefined;
        sizeBytes?: number | undefined;
        compressionType?: FileCompressionType | undefined;
    } & {
        desc?: ({
            path?: string | undefined;
            var?: string | undefined;
        } & {
            path?: string | undefined;
            var?: string | undefined;
        } & Record<Exclude<keyof I["desc"], keyof FileDesc>, never>) | undefined;
        sha256?: string | undefined;
        sizeBytes?: number | undefined;
        compressionType?: FileCompressionType | undefined;
    } & Record<Exclude<keyof I, keyof File>, never>>(object: I): File;
};
export declare const StorageFile: {
    encode(message: StorageFile, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): StorageFile;
    fromJSON(object: any): StorageFile;
    toJSON(message: StorageFile): unknown;
    fromPartial<I extends {
        file?: {
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        } | undefined;
        url?: string | undefined;
    } & {
        file?: ({
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        } & {
            desc?: ({
                path?: string | undefined;
                var?: string | undefined;
            } & {
                path?: string | undefined;
                var?: string | undefined;
            } & Record<Exclude<keyof I["file"]["desc"], keyof FileDesc>, never>) | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        } & Record<Exclude<keyof I["file"], keyof File>, never>) | undefined;
        url?: string | undefined;
    } & Record<Exclude<keyof I, keyof StorageFile>, never>>(object: I): StorageFile;
};
export declare const FileDesc: {
    encode(message: FileDesc, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): FileDesc;
    fromJSON(object: any): FileDesc;
    toJSON(message: FileDesc): unknown;
    fromPartial<I extends {
        path?: string | undefined;
        var?: string | undefined;
    } & {
        path?: string | undefined;
        var?: string | undefined;
    } & Record<Exclude<keyof I, keyof FileDesc>, never>>(object: I): FileDesc;
};
export declare const FileUploadError: {
    encode(message: FileUploadError, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): FileUploadError;
    fromJSON(object: any): FileUploadError;
    toJSON(message: FileUploadError): unknown;
    fromPartial<I extends {
        outputFileDesc?: {
            path?: string | undefined;
            var?: string | undefined;
        } | undefined;
        logFileName?: string | undefined;
        description?: string | undefined;
        type?: FileUploadError_ErrorType | undefined;
    } & {
        outputFileDesc?: ({
            path?: string | undefined;
            var?: string | undefined;
        } & {
            path?: string | undefined;
            var?: string | undefined;
        } & Record<Exclude<keyof I["outputFileDesc"], keyof FileDesc>, never>) | undefined;
        logFileName?: string | undefined;
        description?: string | undefined;
        type?: FileUploadError_ErrorType | undefined;
    } & Record<Exclude<keyof I, keyof FileUploadError>, never>>(object: I): FileUploadError;
};
export declare const Environment: {
    encode(message: Environment, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Environment;
    fromJSON(object: any): Environment;
    toJSON(message: Environment): unknown;
    fromPartial<I extends {
        vars?: {
            [x: string]: string | undefined;
        } | undefined;
        dockerImageResourceId?: string | undefined;
        dockerImageSpec?: {
            imageUrl?: string | undefined;
            username?: string | undefined;
            passwordPlainText?: string | undefined;
            passwordDsSecretName?: string | undefined;
        } | undefined;
        pythonEnv?: {
            condaYaml?: string | undefined;
            localModules?: {
                desc?: {
                    path?: string | undefined;
                    var?: string | undefined;
                } | undefined;
                sha256?: string | undefined;
                sizeBytes?: number | undefined;
                compressionType?: FileCompressionType | undefined;
            }[] | undefined;
            pythonVersion?: string | undefined;
            requirements?: string[] | undefined;
            pipOptions?: {
                indexUrl?: string | undefined;
                extraIndexUrls?: string[] | undefined;
                trustedHosts?: string[] | undefined;
                noDeps?: boolean | undefined;
            } | undefined;
        } | undefined;
    } & {
        vars?: ({
            [x: string]: string | undefined;
        } & {
            [x: string]: string | undefined;
        } & Record<Exclude<keyof I["vars"], string | number>, never>) | undefined;
        dockerImageResourceId?: string | undefined;
        dockerImageSpec?: ({
            imageUrl?: string | undefined;
            username?: string | undefined;
            passwordPlainText?: string | undefined;
            passwordDsSecretName?: string | undefined;
        } & {
            imageUrl?: string | undefined;
            username?: string | undefined;
            passwordPlainText?: string | undefined;
            passwordDsSecretName?: string | undefined;
        } & Record<Exclude<keyof I["dockerImageSpec"], keyof DockerImageSpec>, never>) | undefined;
        pythonEnv?: ({
            condaYaml?: string | undefined;
            localModules?: {
                desc?: {
                    path?: string | undefined;
                    var?: string | undefined;
                } | undefined;
                sha256?: string | undefined;
                sizeBytes?: number | undefined;
                compressionType?: FileCompressionType | undefined;
            }[] | undefined;
            pythonVersion?: string | undefined;
            requirements?: string[] | undefined;
            pipOptions?: {
                indexUrl?: string | undefined;
                extraIndexUrls?: string[] | undefined;
                trustedHosts?: string[] | undefined;
                noDeps?: boolean | undefined;
            } | undefined;
        } & {
            condaYaml?: string | undefined;
            localModules?: ({
                desc?: {
                    path?: string | undefined;
                    var?: string | undefined;
                } | undefined;
                sha256?: string | undefined;
                sizeBytes?: number | undefined;
                compressionType?: FileCompressionType | undefined;
            }[] & ({
                desc?: {
                    path?: string | undefined;
                    var?: string | undefined;
                } | undefined;
                sha256?: string | undefined;
                sizeBytes?: number | undefined;
                compressionType?: FileCompressionType | undefined;
            } & {
                desc?: ({
                    path?: string | undefined;
                    var?: string | undefined;
                } & {
                    path?: string | undefined;
                    var?: string | undefined;
                } & Record<Exclude<keyof I["pythonEnv"]["localModules"][number]["desc"], keyof FileDesc>, never>) | undefined;
                sha256?: string | undefined;
                sizeBytes?: number | undefined;
                compressionType?: FileCompressionType | undefined;
            } & Record<Exclude<keyof I["pythonEnv"]["localModules"][number], keyof File>, never>)[] & Record<Exclude<keyof I["pythonEnv"]["localModules"], keyof {
                desc?: {
                    path?: string | undefined;
                    var?: string | undefined;
                } | undefined;
                sha256?: string | undefined;
                sizeBytes?: number | undefined;
                compressionType?: FileCompressionType | undefined;
            }[]>, never>) | undefined;
            pythonVersion?: string | undefined;
            requirements?: (string[] & string[] & Record<Exclude<keyof I["pythonEnv"]["requirements"], keyof string[]>, never>) | undefined;
            pipOptions?: ({
                indexUrl?: string | undefined;
                extraIndexUrls?: string[] | undefined;
                trustedHosts?: string[] | undefined;
                noDeps?: boolean | undefined;
            } & {
                indexUrl?: string | undefined;
                extraIndexUrls?: (string[] & string[] & Record<Exclude<keyof I["pythonEnv"]["pipOptions"]["extraIndexUrls"], keyof string[]>, never>) | undefined;
                trustedHosts?: (string[] & string[] & Record<Exclude<keyof I["pythonEnv"]["pipOptions"]["trustedHosts"], keyof string[]>, never>) | undefined;
                noDeps?: boolean | undefined;
            } & Record<Exclude<keyof I["pythonEnv"]["pipOptions"], keyof PipOptions>, never>) | undefined;
        } & Record<Exclude<keyof I["pythonEnv"], keyof PythonEnv>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof Environment>, never>>(object: I): Environment;
};
export declare const Environment_VarsEntry: {
    encode(message: Environment_VarsEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Environment_VarsEntry;
    fromJSON(object: any): Environment_VarsEntry;
    toJSON(message: Environment_VarsEntry): unknown;
    fromPartial<I extends {
        key?: string | undefined;
        value?: string | undefined;
    } & {
        key?: string | undefined;
        value?: string | undefined;
    } & Record<Exclude<keyof I, keyof Environment_VarsEntry>, never>>(object: I): Environment_VarsEntry;
};
export declare const DockerImageSpec: {
    encode(message: DockerImageSpec, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DockerImageSpec;
    fromJSON(object: any): DockerImageSpec;
    toJSON(message: DockerImageSpec): unknown;
    fromPartial<I extends {
        imageUrl?: string | undefined;
        username?: string | undefined;
        passwordPlainText?: string | undefined;
        passwordDsSecretName?: string | undefined;
    } & {
        imageUrl?: string | undefined;
        username?: string | undefined;
        passwordPlainText?: string | undefined;
        passwordDsSecretName?: string | undefined;
    } & Record<Exclude<keyof I, keyof DockerImageSpec>, never>>(object: I): DockerImageSpec;
};
export declare const PythonEnv: {
    encode(message: PythonEnv, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): PythonEnv;
    fromJSON(object: any): PythonEnv;
    toJSON(message: PythonEnv): unknown;
    fromPartial<I extends {
        condaYaml?: string | undefined;
        localModules?: {
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        }[] | undefined;
        pythonVersion?: string | undefined;
        requirements?: string[] | undefined;
        pipOptions?: {
            indexUrl?: string | undefined;
            extraIndexUrls?: string[] | undefined;
            trustedHosts?: string[] | undefined;
            noDeps?: boolean | undefined;
        } | undefined;
    } & {
        condaYaml?: string | undefined;
        localModules?: ({
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        }[] & ({
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        } & {
            desc?: ({
                path?: string | undefined;
                var?: string | undefined;
            } & {
                path?: string | undefined;
                var?: string | undefined;
            } & Record<Exclude<keyof I["localModules"][number]["desc"], keyof FileDesc>, never>) | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        } & Record<Exclude<keyof I["localModules"][number], keyof File>, never>)[] & Record<Exclude<keyof I["localModules"], keyof {
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        }[]>, never>) | undefined;
        pythonVersion?: string | undefined;
        requirements?: (string[] & string[] & Record<Exclude<keyof I["requirements"], keyof string[]>, never>) | undefined;
        pipOptions?: ({
            indexUrl?: string | undefined;
            extraIndexUrls?: string[] | undefined;
            trustedHosts?: string[] | undefined;
            noDeps?: boolean | undefined;
        } & {
            indexUrl?: string | undefined;
            extraIndexUrls?: (string[] & string[] & Record<Exclude<keyof I["pipOptions"]["extraIndexUrls"], keyof string[]>, never>) | undefined;
            trustedHosts?: (string[] & string[] & Record<Exclude<keyof I["pipOptions"]["trustedHosts"], keyof string[]>, never>) | undefined;
            noDeps?: boolean | undefined;
        } & Record<Exclude<keyof I["pipOptions"], keyof PipOptions>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof PythonEnv>, never>>(object: I): PythonEnv;
};
export declare const PipOptions: {
    encode(message: PipOptions, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): PipOptions;
    fromJSON(object: any): PipOptions;
    toJSON(message: PipOptions): unknown;
    fromPartial<I extends {
        indexUrl?: string | undefined;
        extraIndexUrls?: string[] | undefined;
        trustedHosts?: string[] | undefined;
        noDeps?: boolean | undefined;
    } & {
        indexUrl?: string | undefined;
        extraIndexUrls?: (string[] & string[] & Record<Exclude<keyof I["extraIndexUrls"], keyof string[]>, never>) | undefined;
        trustedHosts?: (string[] & string[] & Record<Exclude<keyof I["trustedHosts"], keyof string[]>, never>) | undefined;
        noDeps?: boolean | undefined;
    } & Record<Exclude<keyof I, keyof PipOptions>, never>>(object: I): PipOptions;
};
export declare const OutputDatasetDesc: {
    encode(message: OutputDatasetDesc, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): OutputDatasetDesc;
    fromJSON(object: any): OutputDatasetDesc;
    toJSON(message: OutputDatasetDesc): unknown;
    fromPartial<I extends {
        name?: string | undefined;
        description?: string | undefined;
        labels?: {
            [x: string]: string | undefined;
        } | undefined;
        sizeGb?: number | undefined;
        var?: string | undefined;
    } & {
        name?: string | undefined;
        description?: string | undefined;
        labels?: ({
            [x: string]: string | undefined;
        } & {
            [x: string]: string | undefined;
        } & Record<Exclude<keyof I["labels"], string | number>, never>) | undefined;
        sizeGb?: number | undefined;
        var?: string | undefined;
    } & Record<Exclude<keyof I, keyof OutputDatasetDesc>, never>>(object: I): OutputDatasetDesc;
};
export declare const OutputDatasetDesc_LabelsEntry: {
    encode(message: OutputDatasetDesc_LabelsEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): OutputDatasetDesc_LabelsEntry;
    fromJSON(object: any): OutputDatasetDesc_LabelsEntry;
    toJSON(message: OutputDatasetDesc_LabelsEntry): unknown;
    fromPartial<I extends {
        key?: string | undefined;
        value?: string | undefined;
    } & {
        key?: string | undefined;
        value?: string | undefined;
    } & Record<Exclude<keyof I, keyof OutputDatasetDesc_LabelsEntry>, never>>(object: I): OutputDatasetDesc_LabelsEntry;
};
export declare const OutputDataset: {
    encode(message: OutputDataset, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): OutputDataset;
    fromJSON(object: any): OutputDataset;
    toJSON(message: OutputDataset): unknown;
    fromPartial<I extends {
        desc?: {
            name?: string | undefined;
            description?: string | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
            sizeGb?: number | undefined;
            var?: string | undefined;
        } | undefined;
        id?: string | undefined;
    } & {
        desc?: ({
            name?: string | undefined;
            description?: string | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
            sizeGb?: number | undefined;
            var?: string | undefined;
        } & {
            name?: string | undefined;
            description?: string | undefined;
            labels?: ({
                [x: string]: string | undefined;
            } & {
                [x: string]: string | undefined;
            } & Record<Exclude<keyof I["desc"]["labels"], string | number>, never>) | undefined;
            sizeGb?: number | undefined;
            var?: string | undefined;
        } & Record<Exclude<keyof I["desc"], keyof OutputDatasetDesc>, never>) | undefined;
        id?: string | undefined;
    } & Record<Exclude<keyof I, keyof OutputDataset>, never>>(object: I): OutputDataset;
};
export declare const Job: {
    encode(message: Job, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Job;
    fromJSON(object: any): Job;
    toJSON(message: Job): unknown;
    fromPartial<I extends {
        id?: string | undefined;
        name?: string | undefined;
        desc?: string | undefined;
        createdAt?: Date | undefined;
        finishedAt?: Date | undefined;
        status?: JobStatus | undefined;
        config?: string | undefined;
        createdById?: string | undefined;
        projectId?: string | undefined;
        jobParameters?: {
            inputFiles?: {
                desc?: {
                    path?: string | undefined;
                    var?: string | undefined;
                } | undefined;
                sha256?: string | undefined;
                sizeBytes?: number | undefined;
                compressionType?: FileCompressionType | undefined;
            }[] | undefined;
            outputFiles?: {
                path?: string | undefined;
                var?: string | undefined;
            }[] | undefined;
            s3MountIds?: string[] | undefined;
            datasetIds?: string[] | undefined;
            cmd?: string | undefined;
            env?: {
                vars?: {
                    [x: string]: string | undefined;
                } | undefined;
                dockerImageResourceId?: string | undefined;
                dockerImageSpec?: {
                    imageUrl?: string | undefined;
                    username?: string | undefined;
                    passwordPlainText?: string | undefined;
                    passwordDsSecretName?: string | undefined;
                } | undefined;
                pythonEnv?: {
                    condaYaml?: string | undefined;
                    localModules?: {
                        desc?: {
                            path?: string | undefined;
                            var?: string | undefined;
                        } | undefined;
                        sha256?: string | undefined;
                        sizeBytes?: number | undefined;
                        compressionType?: FileCompressionType | undefined;
                    }[] | undefined;
                    pythonVersion?: string | undefined;
                    requirements?: string[] | undefined;
                    pipOptions?: {
                        indexUrl?: string | undefined;
                        extraIndexUrls?: string[] | undefined;
                        trustedHosts?: string[] | undefined;
                        noDeps?: boolean | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            attachProjectDisk?: boolean | undefined;
            cloudInstanceTypes?: {
                name?: string | undefined;
            }[] | undefined;
            extendedWorkingStorage?: {
                type?: ExtendedWorkingStorage_StorageType | undefined;
                sizeGb?: number | undefined;
            } | undefined;
            arguments?: {
                name?: string | undefined;
                value?: string | undefined;
            }[] | undefined;
            outputDatasets?: {
                name?: string | undefined;
                description?: string | undefined;
                labels?: {
                    [x: string]: string | undefined;
                } | undefined;
                sizeGb?: number | undefined;
                var?: string | undefined;
            }[] | undefined;
            gracefulShutdownParameters?: {
                timeout?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                signal?: number | undefined;
            } | undefined;
            sparkParameters?: {
                connectorId?: string | undefined;
            } | undefined;
        } | undefined;
        dataExpiresAt?: Date | undefined;
        dataCleared?: boolean | undefined;
        outputFiles?: {
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        }[] | undefined;
        logFiles?: {
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        }[] | undefined;
        diagnosticFiles?: {
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        }[] | undefined;
        dataSizeBytes?: number | undefined;
        startedAt?: Date | undefined;
        statusDetails?: string | undefined;
        actualCloudInstanceType?: {
            name?: string | undefined;
        } | undefined;
        parentJobId?: string | undefined;
        fileErrors?: {
            outputFileDesc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            logFileName?: string | undefined;
            description?: string | undefined;
            type?: FileUploadError_ErrorType | undefined;
        }[] | undefined;
        outputDatasets?: {
            desc?: {
                name?: string | undefined;
                description?: string | undefined;
                labels?: {
                    [x: string]: string | undefined;
                } | undefined;
                sizeGb?: number | undefined;
                var?: string | undefined;
            } | undefined;
            id?: string | undefined;
        }[] | undefined;
    } & {
        id?: string | undefined;
        name?: string | undefined;
        desc?: string | undefined;
        createdAt?: Date | undefined;
        finishedAt?: Date | undefined;
        status?: JobStatus | undefined;
        config?: string | undefined;
        createdById?: string | undefined;
        projectId?: string | undefined;
        jobParameters?: ({
            inputFiles?: {
                desc?: {
                    path?: string | undefined;
                    var?: string | undefined;
                } | undefined;
                sha256?: string | undefined;
                sizeBytes?: number | undefined;
                compressionType?: FileCompressionType | undefined;
            }[] | undefined;
            outputFiles?: {
                path?: string | undefined;
                var?: string | undefined;
            }[] | undefined;
            s3MountIds?: string[] | undefined;
            datasetIds?: string[] | undefined;
            cmd?: string | undefined;
            env?: {
                vars?: {
                    [x: string]: string | undefined;
                } | undefined;
                dockerImageResourceId?: string | undefined;
                dockerImageSpec?: {
                    imageUrl?: string | undefined;
                    username?: string | undefined;
                    passwordPlainText?: string | undefined;
                    passwordDsSecretName?: string | undefined;
                } | undefined;
                pythonEnv?: {
                    condaYaml?: string | undefined;
                    localModules?: {
                        desc?: {
                            path?: string | undefined;
                            var?: string | undefined;
                        } | undefined;
                        sha256?: string | undefined;
                        sizeBytes?: number | undefined;
                        compressionType?: FileCompressionType | undefined;
                    }[] | undefined;
                    pythonVersion?: string | undefined;
                    requirements?: string[] | undefined;
                    pipOptions?: {
                        indexUrl?: string | undefined;
                        extraIndexUrls?: string[] | undefined;
                        trustedHosts?: string[] | undefined;
                        noDeps?: boolean | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            attachProjectDisk?: boolean | undefined;
            cloudInstanceTypes?: {
                name?: string | undefined;
            }[] | undefined;
            extendedWorkingStorage?: {
                type?: ExtendedWorkingStorage_StorageType | undefined;
                sizeGb?: number | undefined;
            } | undefined;
            arguments?: {
                name?: string | undefined;
                value?: string | undefined;
            }[] | undefined;
            outputDatasets?: {
                name?: string | undefined;
                description?: string | undefined;
                labels?: {
                    [x: string]: string | undefined;
                } | undefined;
                sizeGb?: number | undefined;
                var?: string | undefined;
            }[] | undefined;
            gracefulShutdownParameters?: {
                timeout?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                signal?: number | undefined;
            } | undefined;
            sparkParameters?: {
                connectorId?: string | undefined;
            } | undefined;
        } & {
            inputFiles?: ({
                desc?: {
                    path?: string | undefined;
                    var?: string | undefined;
                } | undefined;
                sha256?: string | undefined;
                sizeBytes?: number | undefined;
                compressionType?: FileCompressionType | undefined;
            }[] & ({
                desc?: {
                    path?: string | undefined;
                    var?: string | undefined;
                } | undefined;
                sha256?: string | undefined;
                sizeBytes?: number | undefined;
                compressionType?: FileCompressionType | undefined;
            } & {
                desc?: ({
                    path?: string | undefined;
                    var?: string | undefined;
                } & {
                    path?: string | undefined;
                    var?: string | undefined;
                } & Record<Exclude<keyof I["jobParameters"]["inputFiles"][number]["desc"], keyof FileDesc>, never>) | undefined;
                sha256?: string | undefined;
                sizeBytes?: number | undefined;
                compressionType?: FileCompressionType | undefined;
            } & Record<Exclude<keyof I["jobParameters"]["inputFiles"][number], keyof File>, never>)[] & Record<Exclude<keyof I["jobParameters"]["inputFiles"], keyof {
                desc?: {
                    path?: string | undefined;
                    var?: string | undefined;
                } | undefined;
                sha256?: string | undefined;
                sizeBytes?: number | undefined;
                compressionType?: FileCompressionType | undefined;
            }[]>, never>) | undefined;
            outputFiles?: ({
                path?: string | undefined;
                var?: string | undefined;
            }[] & ({
                path?: string | undefined;
                var?: string | undefined;
            } & {
                path?: string | undefined;
                var?: string | undefined;
            } & Record<Exclude<keyof I["jobParameters"]["outputFiles"][number], keyof FileDesc>, never>)[] & Record<Exclude<keyof I["jobParameters"]["outputFiles"], keyof {
                path?: string | undefined;
                var?: string | undefined;
            }[]>, never>) | undefined;
            s3MountIds?: (string[] & string[] & Record<Exclude<keyof I["jobParameters"]["s3MountIds"], keyof string[]>, never>) | undefined;
            datasetIds?: (string[] & string[] & Record<Exclude<keyof I["jobParameters"]["datasetIds"], keyof string[]>, never>) | undefined;
            cmd?: string | undefined;
            env?: ({
                vars?: {
                    [x: string]: string | undefined;
                } | undefined;
                dockerImageResourceId?: string | undefined;
                dockerImageSpec?: {
                    imageUrl?: string | undefined;
                    username?: string | undefined;
                    passwordPlainText?: string | undefined;
                    passwordDsSecretName?: string | undefined;
                } | undefined;
                pythonEnv?: {
                    condaYaml?: string | undefined;
                    localModules?: {
                        desc?: {
                            path?: string | undefined;
                            var?: string | undefined;
                        } | undefined;
                        sha256?: string | undefined;
                        sizeBytes?: number | undefined;
                        compressionType?: FileCompressionType | undefined;
                    }[] | undefined;
                    pythonVersion?: string | undefined;
                    requirements?: string[] | undefined;
                    pipOptions?: {
                        indexUrl?: string | undefined;
                        extraIndexUrls?: string[] | undefined;
                        trustedHosts?: string[] | undefined;
                        noDeps?: boolean | undefined;
                    } | undefined;
                } | undefined;
            } & {
                vars?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & Record<Exclude<keyof I["jobParameters"]["env"]["vars"], string | number>, never>) | undefined;
                dockerImageResourceId?: string | undefined;
                dockerImageSpec?: ({
                    imageUrl?: string | undefined;
                    username?: string | undefined;
                    passwordPlainText?: string | undefined;
                    passwordDsSecretName?: string | undefined;
                } & {
                    imageUrl?: string | undefined;
                    username?: string | undefined;
                    passwordPlainText?: string | undefined;
                    passwordDsSecretName?: string | undefined;
                } & Record<Exclude<keyof I["jobParameters"]["env"]["dockerImageSpec"], keyof DockerImageSpec>, never>) | undefined;
                pythonEnv?: ({
                    condaYaml?: string | undefined;
                    localModules?: {
                        desc?: {
                            path?: string | undefined;
                            var?: string | undefined;
                        } | undefined;
                        sha256?: string | undefined;
                        sizeBytes?: number | undefined;
                        compressionType?: FileCompressionType | undefined;
                    }[] | undefined;
                    pythonVersion?: string | undefined;
                    requirements?: string[] | undefined;
                    pipOptions?: {
                        indexUrl?: string | undefined;
                        extraIndexUrls?: string[] | undefined;
                        trustedHosts?: string[] | undefined;
                        noDeps?: boolean | undefined;
                    } | undefined;
                } & {
                    condaYaml?: string | undefined;
                    localModules?: ({
                        desc?: {
                            path?: string | undefined;
                            var?: string | undefined;
                        } | undefined;
                        sha256?: string | undefined;
                        sizeBytes?: number | undefined;
                        compressionType?: FileCompressionType | undefined;
                    }[] & ({
                        desc?: {
                            path?: string | undefined;
                            var?: string | undefined;
                        } | undefined;
                        sha256?: string | undefined;
                        sizeBytes?: number | undefined;
                        compressionType?: FileCompressionType | undefined;
                    } & {
                        desc?: ({
                            path?: string | undefined;
                            var?: string | undefined;
                        } & {
                            path?: string | undefined;
                            var?: string | undefined;
                        } & Record<Exclude<keyof I["jobParameters"]["env"]["pythonEnv"]["localModules"][number]["desc"], keyof FileDesc>, never>) | undefined;
                        sha256?: string | undefined;
                        sizeBytes?: number | undefined;
                        compressionType?: FileCompressionType | undefined;
                    } & Record<Exclude<keyof I["jobParameters"]["env"]["pythonEnv"]["localModules"][number], keyof File>, never>)[] & Record<Exclude<keyof I["jobParameters"]["env"]["pythonEnv"]["localModules"], keyof {
                        desc?: {
                            path?: string | undefined;
                            var?: string | undefined;
                        } | undefined;
                        sha256?: string | undefined;
                        sizeBytes?: number | undefined;
                        compressionType?: FileCompressionType | undefined;
                    }[]>, never>) | undefined;
                    pythonVersion?: string | undefined;
                    requirements?: (string[] & string[] & Record<Exclude<keyof I["jobParameters"]["env"]["pythonEnv"]["requirements"], keyof string[]>, never>) | undefined;
                    pipOptions?: ({
                        indexUrl?: string | undefined;
                        extraIndexUrls?: string[] | undefined;
                        trustedHosts?: string[] | undefined;
                        noDeps?: boolean | undefined;
                    } & {
                        indexUrl?: string | undefined;
                        extraIndexUrls?: (string[] & string[] & Record<Exclude<keyof I["jobParameters"]["env"]["pythonEnv"]["pipOptions"]["extraIndexUrls"], keyof string[]>, never>) | undefined;
                        trustedHosts?: (string[] & string[] & Record<Exclude<keyof I["jobParameters"]["env"]["pythonEnv"]["pipOptions"]["trustedHosts"], keyof string[]>, never>) | undefined;
                        noDeps?: boolean | undefined;
                    } & Record<Exclude<keyof I["jobParameters"]["env"]["pythonEnv"]["pipOptions"], keyof PipOptions>, never>) | undefined;
                } & Record<Exclude<keyof I["jobParameters"]["env"]["pythonEnv"], keyof PythonEnv>, never>) | undefined;
            } & Record<Exclude<keyof I["jobParameters"]["env"], keyof Environment>, never>) | undefined;
            attachProjectDisk?: boolean | undefined;
            cloudInstanceTypes?: ({
                name?: string | undefined;
            }[] & ({
                name?: string | undefined;
            } & {
                name?: string | undefined;
            } & Record<Exclude<keyof I["jobParameters"]["cloudInstanceTypes"][number], "name">, never>)[] & Record<Exclude<keyof I["jobParameters"]["cloudInstanceTypes"], keyof {
                name?: string | undefined;
            }[]>, never>) | undefined;
            extendedWorkingStorage?: ({
                type?: ExtendedWorkingStorage_StorageType | undefined;
                sizeGb?: number | undefined;
            } & {
                type?: ExtendedWorkingStorage_StorageType | undefined;
                sizeGb?: number | undefined;
            } & Record<Exclude<keyof I["jobParameters"]["extendedWorkingStorage"], keyof ExtendedWorkingStorage>, never>) | undefined;
            arguments?: ({
                name?: string | undefined;
                value?: string | undefined;
            }[] & ({
                name?: string | undefined;
                value?: string | undefined;
            } & {
                name?: string | undefined;
                value?: string | undefined;
            } & Record<Exclude<keyof I["jobParameters"]["arguments"][number], keyof Argument>, never>)[] & Record<Exclude<keyof I["jobParameters"]["arguments"], keyof {
                name?: string | undefined;
                value?: string | undefined;
            }[]>, never>) | undefined;
            outputDatasets?: ({
                name?: string | undefined;
                description?: string | undefined;
                labels?: {
                    [x: string]: string | undefined;
                } | undefined;
                sizeGb?: number | undefined;
                var?: string | undefined;
            }[] & ({
                name?: string | undefined;
                description?: string | undefined;
                labels?: {
                    [x: string]: string | undefined;
                } | undefined;
                sizeGb?: number | undefined;
                var?: string | undefined;
            } & {
                name?: string | undefined;
                description?: string | undefined;
                labels?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & Record<Exclude<keyof I["jobParameters"]["outputDatasets"][number]["labels"], string | number>, never>) | undefined;
                sizeGb?: number | undefined;
                var?: string | undefined;
            } & Record<Exclude<keyof I["jobParameters"]["outputDatasets"][number], keyof OutputDatasetDesc>, never>)[] & Record<Exclude<keyof I["jobParameters"]["outputDatasets"], keyof {
                name?: string | undefined;
                description?: string | undefined;
                labels?: {
                    [x: string]: string | undefined;
                } | undefined;
                sizeGb?: number | undefined;
                var?: string | undefined;
            }[]>, never>) | undefined;
            gracefulShutdownParameters?: ({
                timeout?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                signal?: number | undefined;
            } & {
                timeout?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & Record<Exclude<keyof I["jobParameters"]["gracefulShutdownParameters"]["timeout"], keyof Duration>, never>) | undefined;
                signal?: number | undefined;
            } & Record<Exclude<keyof I["jobParameters"]["gracefulShutdownParameters"], keyof GracefulShutdownParameters>, never>) | undefined;
            sparkParameters?: ({
                connectorId?: string | undefined;
            } & {
                connectorId?: string | undefined;
            } & Record<Exclude<keyof I["jobParameters"]["sparkParameters"], "connectorId">, never>) | undefined;
        } & Record<Exclude<keyof I["jobParameters"], keyof JobParameters>, never>) | undefined;
        dataExpiresAt?: Date | undefined;
        dataCleared?: boolean | undefined;
        outputFiles?: ({
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        }[] & ({
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        } & {
            desc?: ({
                path?: string | undefined;
                var?: string | undefined;
            } & {
                path?: string | undefined;
                var?: string | undefined;
            } & Record<Exclude<keyof I["outputFiles"][number]["desc"], keyof FileDesc>, never>) | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        } & Record<Exclude<keyof I["outputFiles"][number], keyof File>, never>)[] & Record<Exclude<keyof I["outputFiles"], keyof {
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        }[]>, never>) | undefined;
        logFiles?: ({
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        }[] & ({
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        } & {
            desc?: ({
                path?: string | undefined;
                var?: string | undefined;
            } & {
                path?: string | undefined;
                var?: string | undefined;
            } & Record<Exclude<keyof I["logFiles"][number]["desc"], keyof FileDesc>, never>) | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        } & Record<Exclude<keyof I["logFiles"][number], keyof File>, never>)[] & Record<Exclude<keyof I["logFiles"], keyof {
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        }[]>, never>) | undefined;
        diagnosticFiles?: ({
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        }[] & ({
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        } & {
            desc?: ({
                path?: string | undefined;
                var?: string | undefined;
            } & {
                path?: string | undefined;
                var?: string | undefined;
            } & Record<Exclude<keyof I["diagnosticFiles"][number]["desc"], keyof FileDesc>, never>) | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        } & Record<Exclude<keyof I["diagnosticFiles"][number], keyof File>, never>)[] & Record<Exclude<keyof I["diagnosticFiles"], keyof {
            desc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            sha256?: string | undefined;
            sizeBytes?: number | undefined;
            compressionType?: FileCompressionType | undefined;
        }[]>, never>) | undefined;
        dataSizeBytes?: number | undefined;
        startedAt?: Date | undefined;
        statusDetails?: string | undefined;
        actualCloudInstanceType?: ({
            name?: string | undefined;
        } & {
            name?: string | undefined;
        } & Record<Exclude<keyof I["actualCloudInstanceType"], "name">, never>) | undefined;
        parentJobId?: string | undefined;
        fileErrors?: ({
            outputFileDesc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            logFileName?: string | undefined;
            description?: string | undefined;
            type?: FileUploadError_ErrorType | undefined;
        }[] & ({
            outputFileDesc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            logFileName?: string | undefined;
            description?: string | undefined;
            type?: FileUploadError_ErrorType | undefined;
        } & {
            outputFileDesc?: ({
                path?: string | undefined;
                var?: string | undefined;
            } & {
                path?: string | undefined;
                var?: string | undefined;
            } & Record<Exclude<keyof I["fileErrors"][number]["outputFileDesc"], keyof FileDesc>, never>) | undefined;
            logFileName?: string | undefined;
            description?: string | undefined;
            type?: FileUploadError_ErrorType | undefined;
        } & Record<Exclude<keyof I["fileErrors"][number], keyof FileUploadError>, never>)[] & Record<Exclude<keyof I["fileErrors"], keyof {
            outputFileDesc?: {
                path?: string | undefined;
                var?: string | undefined;
            } | undefined;
            logFileName?: string | undefined;
            description?: string | undefined;
            type?: FileUploadError_ErrorType | undefined;
        }[]>, never>) | undefined;
        outputDatasets?: ({
            desc?: {
                name?: string | undefined;
                description?: string | undefined;
                labels?: {
                    [x: string]: string | undefined;
                } | undefined;
                sizeGb?: number | undefined;
                var?: string | undefined;
            } | undefined;
            id?: string | undefined;
        }[] & ({
            desc?: {
                name?: string | undefined;
                description?: string | undefined;
                labels?: {
                    [x: string]: string | undefined;
                } | undefined;
                sizeGb?: number | undefined;
                var?: string | undefined;
            } | undefined;
            id?: string | undefined;
        } & {
            desc?: ({
                name?: string | undefined;
                description?: string | undefined;
                labels?: {
                    [x: string]: string | undefined;
                } | undefined;
                sizeGb?: number | undefined;
                var?: string | undefined;
            } & {
                name?: string | undefined;
                description?: string | undefined;
                labels?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & Record<Exclude<keyof I["outputDatasets"][number]["desc"]["labels"], string | number>, never>) | undefined;
                sizeGb?: number | undefined;
                var?: string | undefined;
            } & Record<Exclude<keyof I["outputDatasets"][number]["desc"], keyof OutputDatasetDesc>, never>) | undefined;
            id?: string | undefined;
        } & Record<Exclude<keyof I["outputDatasets"][number], keyof OutputDataset>, never>)[] & Record<Exclude<keyof I["outputDatasets"], keyof {
            desc?: {
                name?: string | undefined;
                description?: string | undefined;
                labels?: {
                    [x: string]: string | undefined;
                } | undefined;
                sizeGb?: number | undefined;
                var?: string | undefined;
            } | undefined;
            id?: string | undefined;
        }[]>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof Job>, never>>(object: I): Job;
};
export declare const JobResult: {
    encode(message: JobResult, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): JobResult;
    fromJSON(object: any): JobResult;
    toJSON(message: JobResult): unknown;
    fromPartial<I extends {
        returnCode?: number | undefined;
    } & {
        returnCode?: number | undefined;
    } & Record<Exclude<keyof I, "returnCode">, never>>(object: I): JobResult;
};
export declare const GracefulShutdownParameters: {
    encode(message: GracefulShutdownParameters, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GracefulShutdownParameters;
    fromJSON(object: any): GracefulShutdownParameters;
    toJSON(message: GracefulShutdownParameters): unknown;
    fromPartial<I extends {
        timeout?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } | undefined;
        signal?: number | undefined;
    } & {
        timeout?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & Record<Exclude<keyof I["timeout"], keyof Duration>, never>) | undefined;
        signal?: number | undefined;
    } & Record<Exclude<keyof I, keyof GracefulShutdownParameters>, never>>(object: I): GracefulShutdownParameters;
};
export declare const JobMetadata: {
    encode(message: JobMetadata, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): JobMetadata;
    fromJSON(object: any): JobMetadata;
    toJSON(message: JobMetadata): unknown;
    fromPartial<I extends {
        id?: string | undefined;
        name?: string | undefined;
        description?: string | undefined;
        createdAt?: Date | undefined;
        startedAt?: Date | undefined;
        finishedAt?: Date | undefined;
        dataExpiresAt?: Date | undefined;
        status?: JobStatus | undefined;
        statusDetails?: string | undefined;
        createdById?: string | undefined;
        projectId?: string | undefined;
        parentJobId?: string | undefined;
    } & {
        id?: string | undefined;
        name?: string | undefined;
        description?: string | undefined;
        createdAt?: Date | undefined;
        startedAt?: Date | undefined;
        finishedAt?: Date | undefined;
        dataExpiresAt?: Date | undefined;
        status?: JobStatus | undefined;
        statusDetails?: string | undefined;
        createdById?: string | undefined;
        projectId?: string | undefined;
        parentJobId?: string | undefined;
    } & Record<Exclude<keyof I, keyof JobMetadata>, never>>(object: I): JobMetadata;
};
export declare const JobProgress: {
    encode(message: JobProgress, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): JobProgress;
    fromJSON(object: any): JobProgress;
    toJSON(message: JobProgress): unknown;
    fromPartial<I extends {
        message?: string | undefined;
        progress?: number | undefined;
        createTime?: Date | undefined;
    } & {
        message?: string | undefined;
        progress?: number | undefined;
        createTime?: Date | undefined;
    } & Record<Exclude<keyof I, keyof JobProgress>, never>>(object: I): JobProgress;
};
export declare const SparkParameters: {
    encode(message: SparkParameters, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): SparkParameters;
    fromJSON(object: any): SparkParameters;
    toJSON(message: SparkParameters): unknown;
    fromPartial<I extends {
        connectorId?: string | undefined;
    } & {
        connectorId?: string | undefined;
    } & Record<Exclude<keyof I, "connectorId">, never>>(object: I): SparkParameters;
};
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never;
export type Exact<P, I extends P> = P extends Builtin ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & Record<Exclude<keyof I, KeysOfUnion<P>>, never>;
export {};
