import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { Operation, OperationParams } from "./ydb_operation_pb.js";
import type { Timestamp } from "../google/protobuf/timestamp_pb.js";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/ydb_import.proto.
 */
export declare const file_protos_ydb_import: GenFile;
/**
 * / Common
 *
 * @generated from message Ydb.Import.ImportProgress
 */
export type ImportProgress = Message<"Ydb.Import.ImportProgress"> & {};
/**
 * Describes the message Ydb.Import.ImportProgress.
 * Use `create(ImportProgressSchema)` to create a new message.
 */
export declare const ImportProgressSchema: GenMessage<ImportProgress>;
/**
 * @generated from enum Ydb.Import.ImportProgress.Progress
 */
export declare enum ImportProgress_Progress {
    /**
     * @generated from enum value: PROGRESS_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * @generated from enum value: PROGRESS_PREPARING = 1;
     */
    PREPARING = 1,
    /**
     * @generated from enum value: PROGRESS_TRANSFER_DATA = 2;
     */
    TRANSFER_DATA = 2,
    /**
     * @generated from enum value: PROGRESS_BUILD_INDEXES = 3;
     */
    BUILD_INDEXES = 3,
    /**
     * @generated from enum value: PROGRESS_DONE = 4;
     */
    DONE = 4,
    /**
     * @generated from enum value: PROGRESS_CANCELLATION = 5;
     */
    CANCELLATION = 5,
    /**
     * @generated from enum value: PROGRESS_CANCELLED = 6;
     */
    CANCELLED = 6
}
/**
 * Describes the enum Ydb.Import.ImportProgress.Progress.
 */
export declare const ImportProgress_ProgressSchema: GenEnum<ImportProgress_Progress>;
/**
 * @generated from message Ydb.Import.ImportItemProgress
 */
export type ImportItemProgress = Message<"Ydb.Import.ImportItemProgress"> & {
    /**
     * @generated from field: uint32 parts_total = 1;
     */
    partsTotal: number;
    /**
     * @generated from field: uint32 parts_completed = 2;
     */
    partsCompleted: number;
    /**
     * @generated from field: google.protobuf.Timestamp start_time = 3;
     */
    startTime?: Timestamp;
    /**
     * @generated from field: google.protobuf.Timestamp end_time = 4;
     */
    endTime?: Timestamp;
};
/**
 * Describes the message Ydb.Import.ImportItemProgress.
 * Use `create(ImportItemProgressSchema)` to create a new message.
 */
export declare const ImportItemProgressSchema: GenMessage<ImportItemProgress>;
/**
 * / S3
 *
 * @generated from message Ydb.Import.ImportFromS3Settings
 */
export type ImportFromS3Settings = Message<"Ydb.Import.ImportFromS3Settings"> & {
    /**
     * @generated from field: string endpoint = 1;
     */
    endpoint: string;
    /**
     * HTTPS if not specified
     *
     * @generated from field: Ydb.Import.ImportFromS3Settings.Scheme scheme = 2;
     */
    scheme: ImportFromS3Settings_Scheme;
    /**
     * @generated from field: string bucket = 3;
     */
    bucket: string;
    /**
     * @generated from field: string access_key = 4;
     */
    accessKey: string;
    /**
     * @generated from field: string secret_key = 5;
     */
    secretKey: string;
    /**
     * @generated from field: repeated Ydb.Import.ImportFromS3Settings.Item items = 6;
     */
    items: ImportFromS3Settings_Item[];
    /**
     * @generated from field: string description = 7;
     */
    description: string;
    /**
     * @generated from field: uint32 number_of_retries = 8;
     */
    numberOfRetries: number;
    /**
     * Region to use in requests
     *
     * @generated from field: string region = 9;
     */
    region: string;
    /**
     * disables virtual hosting style buckets aws s3 feature
     * it changes the way bucket appended to url. e.g. https//bucket_name.example.com/ vs https://example.com/bucket_name
     * details: https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html
     * it is especially useful for custom s3 implementations
     *
     * @generated from field: bool disable_virtual_addressing = 10;
     */
    disableVirtualAddressing: boolean;
};
/**
 * Describes the message Ydb.Import.ImportFromS3Settings.
 * Use `create(ImportFromS3SettingsSchema)` to create a new message.
 */
export declare const ImportFromS3SettingsSchema: GenMessage<ImportFromS3Settings>;
/**
 * @generated from message Ydb.Import.ImportFromS3Settings.Item
 */
export type ImportFromS3Settings_Item = Message<"Ydb.Import.ImportFromS3Settings.Item"> & {
    /**
     * YDB tables in S3 are stored in one or more objects (see ydb_export.proto).
     * The object name begins with 'source_prefix'.
     * This prefix is followed by:
     * '/data_PartNumber', where 'PartNumber' represents the index of the part, starting at zero;
     * '/scheme.pb' - object with information about scheme, indexes, etc.
     *
     * @generated from field: string source_prefix = 1;
     */
    sourcePrefix: string;
    /**
     * Database path to a table to import to.
     *
     * @generated from field: string destination_path = 2;
     */
    destinationPath: string;
};
/**
 * Describes the message Ydb.Import.ImportFromS3Settings.Item.
 * Use `create(ImportFromS3Settings_ItemSchema)` to create a new message.
 */
export declare const ImportFromS3Settings_ItemSchema: GenMessage<ImportFromS3Settings_Item>;
/**
 * @generated from enum Ydb.Import.ImportFromS3Settings.Scheme
 */
export declare enum ImportFromS3Settings_Scheme {
    /**
     * @generated from enum value: UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * @generated from enum value: HTTP = 1;
     */
    HTTP = 1,
    /**
     * @generated from enum value: HTTPS = 2;
     */
    HTTPS = 2
}
/**
 * Describes the enum Ydb.Import.ImportFromS3Settings.Scheme.
 */
export declare const ImportFromS3Settings_SchemeSchema: GenEnum<ImportFromS3Settings_Scheme>;
/**
 * @generated from message Ydb.Import.ImportFromS3Result
 */
export type ImportFromS3Result = Message<"Ydb.Import.ImportFromS3Result"> & {};
/**
 * Describes the message Ydb.Import.ImportFromS3Result.
 * Use `create(ImportFromS3ResultSchema)` to create a new message.
 */
export declare const ImportFromS3ResultSchema: GenMessage<ImportFromS3Result>;
/**
 * @generated from message Ydb.Import.ImportFromS3Metadata
 */
export type ImportFromS3Metadata = Message<"Ydb.Import.ImportFromS3Metadata"> & {
    /**
     * @generated from field: Ydb.Import.ImportFromS3Settings settings = 1;
     */
    settings?: ImportFromS3Settings;
    /**
     * @generated from field: Ydb.Import.ImportProgress.Progress progress = 2;
     */
    progress: ImportProgress_Progress;
    /**
     * @generated from field: repeated Ydb.Import.ImportItemProgress items_progress = 3;
     */
    itemsProgress: ImportItemProgress[];
};
/**
 * Describes the message Ydb.Import.ImportFromS3Metadata.
 * Use `create(ImportFromS3MetadataSchema)` to create a new message.
 */
export declare const ImportFromS3MetadataSchema: GenMessage<ImportFromS3Metadata>;
/**
 * @generated from message Ydb.Import.ImportFromS3Request
 */
export type ImportFromS3Request = Message<"Ydb.Import.ImportFromS3Request"> & {
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 1;
     */
    operationParams?: OperationParams;
    /**
     * @generated from field: Ydb.Import.ImportFromS3Settings settings = 2;
     */
    settings?: ImportFromS3Settings;
};
/**
 * Describes the message Ydb.Import.ImportFromS3Request.
 * Use `create(ImportFromS3RequestSchema)` to create a new message.
 */
export declare const ImportFromS3RequestSchema: GenMessage<ImportFromS3Request>;
/**
 * @generated from message Ydb.Import.ImportFromS3Response
 */
export type ImportFromS3Response = Message<"Ydb.Import.ImportFromS3Response"> & {
    /**
     * operation.result = ImportFromS3Result
     * operation.metadata = ImportFromS3Metadata
     *
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Import.ImportFromS3Response.
 * Use `create(ImportFromS3ResponseSchema)` to create a new message.
 */
export declare const ImportFromS3ResponseSchema: GenMessage<ImportFromS3Response>;
/**
 * / Data
 *
 * @generated from message Ydb.Import.YdbDumpFormat
 */
export type YdbDumpFormat = Message<"Ydb.Import.YdbDumpFormat"> & {
    /**
     * @generated from field: repeated string columns = 1;
     */
    columns: string[];
};
/**
 * Describes the message Ydb.Import.YdbDumpFormat.
 * Use `create(YdbDumpFormatSchema)` to create a new message.
 */
export declare const YdbDumpFormatSchema: GenMessage<YdbDumpFormat>;
/**
 * @generated from message Ydb.Import.ImportDataResult
 */
export type ImportDataResult = Message<"Ydb.Import.ImportDataResult"> & {};
/**
 * Describes the message Ydb.Import.ImportDataResult.
 * Use `create(ImportDataResultSchema)` to create a new message.
 */
export declare const ImportDataResultSchema: GenMessage<ImportDataResult>;
/**
 * @generated from message Ydb.Import.ImportDataRequest
 */
export type ImportDataRequest = Message<"Ydb.Import.ImportDataRequest"> & {
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 1;
     */
    operationParams?: OperationParams;
    /**
     * Full path to table
     *
     * @generated from field: string path = 2;
     */
    path: string;
    /**
     * Data serialized in the selected format. Restrictions:
     * - sorted by primary key;
     * - all keys must be from the same partition;
     * - table has no global secondary indexes;
     * - size of serialized data is limited to 8 MB.
     *
     * @generated from field: bytes data = 3;
     */
    data: Uint8Array;
    /**
     * @generated from oneof Ydb.Import.ImportDataRequest.format
     */
    format: {
        /**
         * Result of `ydb tools dump`
         *
         * @generated from field: Ydb.Import.YdbDumpFormat ydb_dump = 4;
         */
        value: YdbDumpFormat;
        case: "ydbDump";
    } | {
        case: undefined;
        value?: undefined;
    };
};
/**
 * Describes the message Ydb.Import.ImportDataRequest.
 * Use `create(ImportDataRequestSchema)` to create a new message.
 */
export declare const ImportDataRequestSchema: GenMessage<ImportDataRequest>;
/**
 * @generated from message Ydb.Import.ImportDataResponse
 */
export type ImportDataResponse = Message<"Ydb.Import.ImportDataResponse"> & {
    /**
     * operation.result = ImportDataResult
     *
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Import.ImportDataResponse.
 * Use `create(ImportDataResponseSchema)` to create a new message.
 */
export declare const ImportDataResponseSchema: GenMessage<ImportDataResponse>;
//# sourceMappingURL=ydb_import_pb.d.ts.map