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_export.proto.
 */
export declare const file_protos_ydb_export: GenFile;
/**
 * / Common
 *
 * @generated from message Ydb.Export.ExportProgress
 */
export type ExportProgress = Message<"Ydb.Export.ExportProgress"> & {};
/**
 * Describes the message Ydb.Export.ExportProgress.
 * Use `create(ExportProgressSchema)` to create a new message.
 */
export declare const ExportProgressSchema: GenMessage<ExportProgress>;
/**
 * @generated from enum Ydb.Export.ExportProgress.Progress
 */
export declare enum ExportProgress_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_DONE = 3;
     */
    DONE = 3,
    /**
     * @generated from enum value: PROGRESS_CANCELLATION = 4;
     */
    CANCELLATION = 4,
    /**
     * @generated from enum value: PROGRESS_CANCELLED = 5;
     */
    CANCELLED = 5
}
/**
 * Describes the enum Ydb.Export.ExportProgress.Progress.
 */
export declare const ExportProgress_ProgressSchema: GenEnum<ExportProgress_Progress>;
/**
 * @generated from message Ydb.Export.ExportItemProgress
 */
export type ExportItemProgress = Message<"Ydb.Export.ExportItemProgress"> & {
    /**
     * @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.Export.ExportItemProgress.
 * Use `create(ExportItemProgressSchema)` to create a new message.
 */
export declare const ExportItemProgressSchema: GenMessage<ExportItemProgress>;
/**
 * / YT
 *
 * @generated from message Ydb.Export.ExportToYtSettings
 */
export type ExportToYtSettings = Message<"Ydb.Export.ExportToYtSettings"> & {
    /**
     * @generated from field: string host = 1;
     */
    host: string;
    /**
     * @generated from field: uint32 port = 2;
     */
    port: number;
    /**
     * @generated from field: string token = 3;
     */
    token: string;
    /**
     * @generated from field: repeated Ydb.Export.ExportToYtSettings.Item items = 4;
     */
    items: ExportToYtSettings_Item[];
    /**
     * @generated from field: string description = 5;
     */
    description: string;
    /**
     * @generated from field: uint32 number_of_retries = 6;
     */
    numberOfRetries: number;
    /**
     * @generated from field: bool use_type_v3 = 7;
     */
    useTypeV3: boolean;
};
/**
 * Describes the message Ydb.Export.ExportToYtSettings.
 * Use `create(ExportToYtSettingsSchema)` to create a new message.
 */
export declare const ExportToYtSettingsSchema: GenMessage<ExportToYtSettings>;
/**
 * @generated from message Ydb.Export.ExportToYtSettings.Item
 */
export type ExportToYtSettings_Item = Message<"Ydb.Export.ExportToYtSettings.Item"> & {
    /**
     * Database path to a table to be exported
     *
     * @generated from field: string source_path = 1;
     */
    sourcePath: string;
    /**
     * @generated from field: string destination_path = 2;
     */
    destinationPath: string;
};
/**
 * Describes the message Ydb.Export.ExportToYtSettings.Item.
 * Use `create(ExportToYtSettings_ItemSchema)` to create a new message.
 */
export declare const ExportToYtSettings_ItemSchema: GenMessage<ExportToYtSettings_Item>;
/**
 * @generated from message Ydb.Export.ExportToYtResult
 */
export type ExportToYtResult = Message<"Ydb.Export.ExportToYtResult"> & {};
/**
 * Describes the message Ydb.Export.ExportToYtResult.
 * Use `create(ExportToYtResultSchema)` to create a new message.
 */
export declare const ExportToYtResultSchema: GenMessage<ExportToYtResult>;
/**
 * @generated from message Ydb.Export.ExportToYtMetadata
 */
export type ExportToYtMetadata = Message<"Ydb.Export.ExportToYtMetadata"> & {
    /**
     * @generated from field: Ydb.Export.ExportToYtSettings settings = 1;
     */
    settings?: ExportToYtSettings;
    /**
     * @generated from field: Ydb.Export.ExportProgress.Progress progress = 2;
     */
    progress: ExportProgress_Progress;
    /**
     * @generated from field: repeated Ydb.Export.ExportItemProgress items_progress = 3;
     */
    itemsProgress: ExportItemProgress[];
};
/**
 * Describes the message Ydb.Export.ExportToYtMetadata.
 * Use `create(ExportToYtMetadataSchema)` to create a new message.
 */
export declare const ExportToYtMetadataSchema: GenMessage<ExportToYtMetadata>;
/**
 * @generated from message Ydb.Export.ExportToYtRequest
 */
export type ExportToYtRequest = Message<"Ydb.Export.ExportToYtRequest"> & {
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 1;
     */
    operationParams?: OperationParams;
    /**
     * @generated from field: Ydb.Export.ExportToYtSettings settings = 2;
     */
    settings?: ExportToYtSettings;
};
/**
 * Describes the message Ydb.Export.ExportToYtRequest.
 * Use `create(ExportToYtRequestSchema)` to create a new message.
 */
export declare const ExportToYtRequestSchema: GenMessage<ExportToYtRequest>;
/**
 * @generated from message Ydb.Export.ExportToYtResponse
 */
export type ExportToYtResponse = Message<"Ydb.Export.ExportToYtResponse"> & {
    /**
     * operation.result = ExportToYtResult
     * operation.metadata = ExportToYtMetadata
     *
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Export.ExportToYtResponse.
 * Use `create(ExportToYtResponseSchema)` to create a new message.
 */
export declare const ExportToYtResponseSchema: GenMessage<ExportToYtResponse>;
/**
 * / S3
 *
 * @generated from message Ydb.Export.ExportToS3Settings
 */
export type ExportToS3Settings = Message<"Ydb.Export.ExportToS3Settings"> & {
    /**
     * @generated from field: string endpoint = 1;
     */
    endpoint: string;
    /**
     * HTTPS if not specified
     *
     * @generated from field: Ydb.Export.ExportToS3Settings.Scheme scheme = 2;
     */
    scheme: ExportToS3Settings_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.Export.ExportToS3Settings.Item items = 6;
     */
    items: ExportToS3Settings_Item[];
    /**
     * @generated from field: string description = 7;
     */
    description: string;
    /**
     * @generated from field: uint32 number_of_retries = 8;
     */
    numberOfRetries: number;
    /**
     * @generated from field: Ydb.Export.ExportToS3Settings.StorageClass storage_class = 9;
     */
    storageClass: ExportToS3Settings_StorageClass;
    /**
     * Codec used to compress data. Codecs are available:
     * - zstd.
     * - zstd-N, where N is compression level, e.g. zstd-3.
     *
     * @generated from field: string compression = 10;
     */
    compression: string;
    /**
     * Region to use in requests
     *
     * @generated from field: string region = 11;
     */
    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 = 12;
     */
    disableVirtualAddressing: boolean;
};
/**
 * Describes the message Ydb.Export.ExportToS3Settings.
 * Use `create(ExportToS3SettingsSchema)` to create a new message.
 */
export declare const ExportToS3SettingsSchema: GenMessage<ExportToS3Settings>;
/**
 * @generated from message Ydb.Export.ExportToS3Settings.Item
 */
export type ExportToS3Settings_Item = Message<"Ydb.Export.ExportToS3Settings.Item"> & {
    /**
     * Database path to a table to be exported
     *
     * @generated from field: string source_path = 1;
     */
    sourcePath: string;
    /**
     * Tables are exported to one or more S3 objects.
     * The object name begins with 'destination_prefix'.
     * This prefix will be followed by '/data_PartNumber', where 'PartNumber'
     * represents the index of the part, starting at zero.
     *
     * @generated from field: string destination_prefix = 2;
     */
    destinationPrefix: string;
};
/**
 * Describes the message Ydb.Export.ExportToS3Settings.Item.
 * Use `create(ExportToS3Settings_ItemSchema)` to create a new message.
 */
export declare const ExportToS3Settings_ItemSchema: GenMessage<ExportToS3Settings_Item>;
/**
 * @generated from enum Ydb.Export.ExportToS3Settings.Scheme
 */
export declare enum ExportToS3Settings_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.Export.ExportToS3Settings.Scheme.
 */
export declare const ExportToS3Settings_SchemeSchema: GenEnum<ExportToS3Settings_Scheme>;
/**
 * @generated from enum Ydb.Export.ExportToS3Settings.StorageClass
 */
export declare enum ExportToS3Settings_StorageClass {
    /**
     * @generated from enum value: STORAGE_CLASS_UNSPECIFIED = 0;
     */
    STORAGE_CLASS_UNSPECIFIED = 0,
    /**
     * @generated from enum value: STANDARD = 1;
     */
    STANDARD = 1,
    /**
     * @generated from enum value: REDUCED_REDUNDANCY = 2;
     */
    REDUCED_REDUNDANCY = 2,
    /**
     * @generated from enum value: STANDARD_IA = 3;
     */
    STANDARD_IA = 3,
    /**
     * @generated from enum value: ONEZONE_IA = 4;
     */
    ONEZONE_IA = 4,
    /**
     * @generated from enum value: INTELLIGENT_TIERING = 5;
     */
    INTELLIGENT_TIERING = 5,
    /**
     * @generated from enum value: GLACIER = 6;
     */
    GLACIER = 6,
    /**
     * @generated from enum value: DEEP_ARCHIVE = 7;
     */
    DEEP_ARCHIVE = 7,
    /**
     * @generated from enum value: OUTPOSTS = 8;
     */
    OUTPOSTS = 8
}
/**
 * Describes the enum Ydb.Export.ExportToS3Settings.StorageClass.
 */
export declare const ExportToS3Settings_StorageClassSchema: GenEnum<ExportToS3Settings_StorageClass>;
/**
 * @generated from message Ydb.Export.ExportToS3Result
 */
export type ExportToS3Result = Message<"Ydb.Export.ExportToS3Result"> & {};
/**
 * Describes the message Ydb.Export.ExportToS3Result.
 * Use `create(ExportToS3ResultSchema)` to create a new message.
 */
export declare const ExportToS3ResultSchema: GenMessage<ExportToS3Result>;
/**
 * @generated from message Ydb.Export.ExportToS3Metadata
 */
export type ExportToS3Metadata = Message<"Ydb.Export.ExportToS3Metadata"> & {
    /**
     * @generated from field: Ydb.Export.ExportToS3Settings settings = 1;
     */
    settings?: ExportToS3Settings;
    /**
     * @generated from field: Ydb.Export.ExportProgress.Progress progress = 2;
     */
    progress: ExportProgress_Progress;
    /**
     * @generated from field: repeated Ydb.Export.ExportItemProgress items_progress = 3;
     */
    itemsProgress: ExportItemProgress[];
};
/**
 * Describes the message Ydb.Export.ExportToS3Metadata.
 * Use `create(ExportToS3MetadataSchema)` to create a new message.
 */
export declare const ExportToS3MetadataSchema: GenMessage<ExportToS3Metadata>;
/**
 * @generated from message Ydb.Export.ExportToS3Request
 */
export type ExportToS3Request = Message<"Ydb.Export.ExportToS3Request"> & {
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 1;
     */
    operationParams?: OperationParams;
    /**
     * @generated from field: Ydb.Export.ExportToS3Settings settings = 2;
     */
    settings?: ExportToS3Settings;
};
/**
 * Describes the message Ydb.Export.ExportToS3Request.
 * Use `create(ExportToS3RequestSchema)` to create a new message.
 */
export declare const ExportToS3RequestSchema: GenMessage<ExportToS3Request>;
/**
 * @generated from message Ydb.Export.ExportToS3Response
 */
export type ExportToS3Response = Message<"Ydb.Export.ExportToS3Response"> & {
    /**
     * operation.result = ExportToS3Result
     * operation.metadata = ExportToS3Metadata
     *
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Export.ExportToS3Response.
 * Use `create(ExportToS3ResponseSchema)` to create a new message.
 */
export declare const ExportToS3ResponseSchema: GenMessage<ExportToS3Response>;
//# sourceMappingURL=ydb_export_pb.d.ts.map