import _m0 from 'protobufjs/minimal';
export declare const protobufPackage = "yandex.cloud.ai.dataset.v1";
/** Information about the dataset. */
export interface DatasetInfo {
    /** ID of the dataset. */
    datasetId: string;
    /** Folder ID of the dataset. */
    folderId: string;
    /** Name of the dataset. */
    name: string;
    /** Description of the dataset. */
    description: string;
    /** Metadata of the dataset. */
    metadata: string;
    /** Status of the dataset. */
    status: DatasetInfo_Status;
    /** Task type of the dataset. */
    taskType: string;
    /** Create dataset timestamp. */
    createdAt?: Date;
    /** Update dataset timestamp. */
    updatedAt?: Date;
    /** Number of rows in the dataset. */
    rows: number;
    /** Size of the dataset. */
    sizeBytes: number;
    /**
     * Deprecated. Use created_by instead
     *
     * @deprecated
     */
    createdById: string;
    /** Labels of the dataset */
    labels: {
        [key: string]: string;
    };
    /** User ID of the dataset's creator. */
    createdBy: string;
    /** User ID of the dataset's last updater. */
    updatedBy: string;
    validationError: ValidationError[];
    /** Allow to use the dataset to improve the models quality. Default false. */
    allowDataLog: boolean;
}
/** Status of the dataset. */
export declare enum DatasetInfo_Status {
    STATUS_UNSPECIFIED = 0,
    DRAFT = 1,
    VALIDATING = 2,
    READY = 3,
    INVALID = 4,
    DELETING = 5,
    UNRECOGNIZED = -1
}
export declare function datasetInfo_StatusFromJSON(object: any): DatasetInfo_Status;
export declare function datasetInfo_StatusToJSON(object: DatasetInfo_Status): string;
export interface DatasetInfo_LabelsEntry {
    key: string;
    value: string;
}
/** Information about dataset validation error. */
export interface ValidationError {
    /** Name of the validation error. */
    error: string;
    /** Description of the validation error. */
    errorDescription: string;
    /** Row numbers in which the error occurred. */
    rowNumbers: number[];
}
export interface DatasetUploadSchema {
    taskType: string;
    uploadFormat: string;
    schema: string;
}
export interface DatasetFileDownloadUrl {
    key: string;
    url: string;
}
export declare const DatasetInfo: {
    encode(message: DatasetInfo, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DatasetInfo;
    fromJSON(object: any): DatasetInfo;
    toJSON(message: DatasetInfo): unknown;
    fromPartial<I extends {
        datasetId?: string | undefined;
        folderId?: string | undefined;
        name?: string | undefined;
        description?: string | undefined;
        metadata?: string | undefined;
        status?: DatasetInfo_Status | undefined;
        taskType?: string | undefined;
        createdAt?: Date | undefined;
        updatedAt?: Date | undefined;
        rows?: number | undefined;
        sizeBytes?: number | undefined;
        createdById?: string | undefined;
        labels?: {
            [x: string]: string | undefined;
        } | undefined;
        createdBy?: string | undefined;
        updatedBy?: string | undefined;
        validationError?: {
            error?: string | undefined;
            errorDescription?: string | undefined;
            rowNumbers?: number[] | undefined;
        }[] | undefined;
        allowDataLog?: boolean | undefined;
    } & {
        datasetId?: string | undefined;
        folderId?: string | undefined;
        name?: string | undefined;
        description?: string | undefined;
        metadata?: string | undefined;
        status?: DatasetInfo_Status | undefined;
        taskType?: string | undefined;
        createdAt?: Date | undefined;
        updatedAt?: Date | undefined;
        rows?: number | undefined;
        sizeBytes?: number | undefined;
        createdById?: string | undefined;
        labels?: ({
            [x: string]: string | undefined;
        } & {
            [x: string]: string | undefined;
        } & Record<Exclude<keyof I["labels"], string | number>, never>) | undefined;
        createdBy?: string | undefined;
        updatedBy?: string | undefined;
        validationError?: ({
            error?: string | undefined;
            errorDescription?: string | undefined;
            rowNumbers?: number[] | undefined;
        }[] & ({
            error?: string | undefined;
            errorDescription?: string | undefined;
            rowNumbers?: number[] | undefined;
        } & {
            error?: string | undefined;
            errorDescription?: string | undefined;
            rowNumbers?: (number[] & number[] & Record<Exclude<keyof I["validationError"][number]["rowNumbers"], keyof number[]>, never>) | undefined;
        } & Record<Exclude<keyof I["validationError"][number], keyof ValidationError>, never>)[] & Record<Exclude<keyof I["validationError"], keyof {
            error?: string | undefined;
            errorDescription?: string | undefined;
            rowNumbers?: number[] | undefined;
        }[]>, never>) | undefined;
        allowDataLog?: boolean | undefined;
    } & Record<Exclude<keyof I, keyof DatasetInfo>, never>>(object: I): DatasetInfo;
};
export declare const DatasetInfo_LabelsEntry: {
    encode(message: DatasetInfo_LabelsEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DatasetInfo_LabelsEntry;
    fromJSON(object: any): DatasetInfo_LabelsEntry;
    toJSON(message: DatasetInfo_LabelsEntry): unknown;
    fromPartial<I extends {
        key?: string | undefined;
        value?: string | undefined;
    } & {
        key?: string | undefined;
        value?: string | undefined;
    } & Record<Exclude<keyof I, keyof DatasetInfo_LabelsEntry>, never>>(object: I): DatasetInfo_LabelsEntry;
};
export declare const ValidationError: {
    encode(message: ValidationError, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ValidationError;
    fromJSON(object: any): ValidationError;
    toJSON(message: ValidationError): unknown;
    fromPartial<I extends {
        error?: string | undefined;
        errorDescription?: string | undefined;
        rowNumbers?: number[] | undefined;
    } & {
        error?: string | undefined;
        errorDescription?: string | undefined;
        rowNumbers?: (number[] & number[] & Record<Exclude<keyof I["rowNumbers"], keyof number[]>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof ValidationError>, never>>(object: I): ValidationError;
};
export declare const DatasetUploadSchema: {
    encode(message: DatasetUploadSchema, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DatasetUploadSchema;
    fromJSON(object: any): DatasetUploadSchema;
    toJSON(message: DatasetUploadSchema): unknown;
    fromPartial<I extends {
        taskType?: string | undefined;
        uploadFormat?: string | undefined;
        schema?: string | undefined;
    } & {
        taskType?: string | undefined;
        uploadFormat?: string | undefined;
        schema?: string | undefined;
    } & Record<Exclude<keyof I, keyof DatasetUploadSchema>, never>>(object: I): DatasetUploadSchema;
};
export declare const DatasetFileDownloadUrl: {
    encode(message: DatasetFileDownloadUrl, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DatasetFileDownloadUrl;
    fromJSON(object: any): DatasetFileDownloadUrl;
    toJSON(message: DatasetFileDownloadUrl): unknown;
    fromPartial<I extends {
        key?: string | undefined;
        url?: string | undefined;
    } & {
        key?: string | undefined;
        url?: string | undefined;
    } & Record<Exclude<keyof I, keyof DatasetFileDownloadUrl>, never>>(object: I): DatasetFileDownloadUrl;
};
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 {};
