import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { FeatureFlag_Status, VirtualTimestamp } from "./ydb_common_pb.js";
import type { IssueMessage } from "./ydb_issue_message_pb.js";
import type { Operation, OperationParams } from "./ydb_operation_pb.js";
import type { QueryStats } from "./ydb_query_stats_pb.js";
import type { ResultSet, Type, TypedValue } from "./ydb_value_pb.js";
import type { Entry } from "./ydb_scheme_pb.js";
import type { StatusIds_StatusCode } from "./ydb_status_codes_pb.js";
import type { PartitioningSettings as PartitioningSettings$1 } from "./ydb_topic_pb.js";
import type { ArrowBatchSettings, CsvSettings } from "./ydb_formats_pb.js";
import type { Empty } from "../google/protobuf/empty_pb.js";
import type { Duration } from "../google/protobuf/duration_pb.js";
import type { Timestamp } from "../google/protobuf/timestamp_pb.js";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/ydb_table.proto.
 */
export declare const file_protos_ydb_table: GenFile;
/**
 * Create new session
 *
 * @generated from message Ydb.Table.CreateSessionRequest
 */
export type CreateSessionRequest = Message<"Ydb.Table.CreateSessionRequest"> & {
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 1;
     */
    operationParams?: OperationParams;
};
/**
 * Describes the message Ydb.Table.CreateSessionRequest.
 * Use `create(CreateSessionRequestSchema)` to create a new message.
 */
export declare const CreateSessionRequestSchema: GenMessage<CreateSessionRequest>;
/**
 * Create new session
 *
 * @generated from message Ydb.Table.CreateSessionResponse
 */
export type CreateSessionResponse = Message<"Ydb.Table.CreateSessionResponse"> & {
    /**
     * Holds CreateSessionResult in case of CreateSessionResult
     *
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Table.CreateSessionResponse.
 * Use `create(CreateSessionResponseSchema)` to create a new message.
 */
export declare const CreateSessionResponseSchema: GenMessage<CreateSessionResponse>;
/**
 * @generated from message Ydb.Table.CreateSessionResult
 */
export type CreateSessionResult = Message<"Ydb.Table.CreateSessionResult"> & {
    /**
     * Session identifier
     *
     * @generated from field: string session_id = 1;
     */
    sessionId: string;
};
/**
 * Describes the message Ydb.Table.CreateSessionResult.
 * Use `create(CreateSessionResultSchema)` to create a new message.
 */
export declare const CreateSessionResultSchema: GenMessage<CreateSessionResult>;
/**
 * Delete session with given id string
 *
 * @generated from message Ydb.Table.DeleteSessionRequest
 */
export type DeleteSessionRequest = Message<"Ydb.Table.DeleteSessionRequest"> & {
    /**
     * Session identifier
     *
     * @generated from field: string session_id = 1;
     */
    sessionId: string;
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 2;
     */
    operationParams?: OperationParams;
};
/**
 * Describes the message Ydb.Table.DeleteSessionRequest.
 * Use `create(DeleteSessionRequestSchema)` to create a new message.
 */
export declare const DeleteSessionRequestSchema: GenMessage<DeleteSessionRequest>;
/**
 * @generated from message Ydb.Table.DeleteSessionResponse
 */
export type DeleteSessionResponse = Message<"Ydb.Table.DeleteSessionResponse"> & {
    /**
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Table.DeleteSessionResponse.
 * Use `create(DeleteSessionResponseSchema)` to create a new message.
 */
export declare const DeleteSessionResponseSchema: GenMessage<DeleteSessionResponse>;
/**
 * @generated from message Ydb.Table.GlobalIndex
 */
export type GlobalIndex = Message<"Ydb.Table.GlobalIndex"> & {};
/**
 * Describes the message Ydb.Table.GlobalIndex.
 * Use `create(GlobalIndexSchema)` to create a new message.
 */
export declare const GlobalIndexSchema: GenMessage<GlobalIndex>;
/**
 * @generated from message Ydb.Table.GlobalAsyncIndex
 */
export type GlobalAsyncIndex = Message<"Ydb.Table.GlobalAsyncIndex"> & {};
/**
 * Describes the message Ydb.Table.GlobalAsyncIndex.
 * Use `create(GlobalAsyncIndexSchema)` to create a new message.
 */
export declare const GlobalAsyncIndexSchema: GenMessage<GlobalAsyncIndex>;
/**
 * @generated from message Ydb.Table.GlobalUniqueIndex
 */
export type GlobalUniqueIndex = Message<"Ydb.Table.GlobalUniqueIndex"> & {};
/**
 * Describes the message Ydb.Table.GlobalUniqueIndex.
 * Use `create(GlobalUniqueIndexSchema)` to create a new message.
 */
export declare const GlobalUniqueIndexSchema: GenMessage<GlobalUniqueIndex>;
/**
 * Represent secondary index
 *
 * @generated from message Ydb.Table.TableIndex
 */
export type TableIndex = Message<"Ydb.Table.TableIndex"> & {
    /**
     * Name of index
     *
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * list of columns
     *
     * @generated from field: repeated string index_columns = 2;
     */
    indexColumns: string[];
    /**
     * Type of index
     *
     * @generated from oneof Ydb.Table.TableIndex.type
     */
    type: {
        /**
         * @generated from field: Ydb.Table.GlobalIndex global_index = 3;
         */
        value: GlobalIndex;
        case: "globalIndex";
    } | {
        /**
         * @generated from field: Ydb.Table.GlobalAsyncIndex global_async_index = 4;
         */
        value: GlobalAsyncIndex;
        case: "globalAsyncIndex";
    } | {
        /**
         * @generated from field: Ydb.Table.GlobalUniqueIndex global_unique_index = 6;
         */
        value: GlobalUniqueIndex;
        case: "globalUniqueIndex";
    } | {
        case: undefined;
        value?: undefined;
    };
    /**
     * list of columns content to be copied in to index table
     *
     * @generated from field: repeated string data_columns = 5;
     */
    dataColumns: string[];
};
/**
 * Describes the message Ydb.Table.TableIndex.
 * Use `create(TableIndexSchema)` to create a new message.
 */
export declare const TableIndexSchema: GenMessage<TableIndex>;
/**
 * Represent secondary index with index state
 *
 * @generated from message Ydb.Table.TableIndexDescription
 */
export type TableIndexDescription = Message<"Ydb.Table.TableIndexDescription"> & {
    /**
     * Name of index
     *
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * list of columns
     *
     * @generated from field: repeated string index_columns = 2;
     */
    indexColumns: string[];
    /**
     * Type of index
     *
     * @generated from oneof Ydb.Table.TableIndexDescription.type
     */
    type: {
        /**
         * @generated from field: Ydb.Table.GlobalIndex global_index = 3;
         */
        value: GlobalIndex;
        case: "globalIndex";
    } | {
        /**
         * @generated from field: Ydb.Table.GlobalAsyncIndex global_async_index = 5;
         */
        value: GlobalAsyncIndex;
        case: "globalAsyncIndex";
    } | {
        /**
         * @generated from field: Ydb.Table.GlobalUniqueIndex global_unique_index = 8;
         */
        value: GlobalUniqueIndex;
        case: "globalUniqueIndex";
    } | {
        case: undefined;
        value?: undefined;
    };
    /**
     * @generated from field: Ydb.Table.TableIndexDescription.Status status = 4;
     */
    status: TableIndexDescription_Status;
    /**
     * list of columns content to be copied in to index table
     *
     * @generated from field: repeated string data_columns = 6;
     */
    dataColumns: string[];
    /**
     * Size of index data in bytes
     *
     * @generated from field: uint64 size_bytes = 7;
     */
    sizeBytes: bigint;
};
/**
 * Describes the message Ydb.Table.TableIndexDescription.
 * Use `create(TableIndexDescriptionSchema)` to create a new message.
 */
export declare const TableIndexDescriptionSchema: GenMessage<TableIndexDescription>;
/**
 * @generated from enum Ydb.Table.TableIndexDescription.Status
 */
export declare enum TableIndexDescription_Status {
    /**
     * @generated from enum value: STATUS_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * Index is ready to use
     *
     * @generated from enum value: STATUS_READY = 1;
     */
    READY = 1,
    /**
     * index is being built
     *
     * @generated from enum value: STATUS_BUILDING = 2;
     */
    BUILDING = 2
}
/**
 * Describes the enum Ydb.Table.TableIndexDescription.Status.
 */
export declare const TableIndexDescription_StatusSchema: GenEnum<TableIndexDescription_Status>;
/**
 * State of index building operation
 *
 * @generated from message Ydb.Table.IndexBuildState
 */
export type IndexBuildState = Message<"Ydb.Table.IndexBuildState"> & {};
/**
 * Describes the message Ydb.Table.IndexBuildState.
 * Use `create(IndexBuildStateSchema)` to create a new message.
 */
export declare const IndexBuildStateSchema: GenMessage<IndexBuildState>;
/**
 * @generated from enum Ydb.Table.IndexBuildState.State
 */
export declare enum IndexBuildState_State {
    /**
     * @generated from enum value: STATE_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * @generated from enum value: STATE_PREPARING = 1;
     */
    PREPARING = 1,
    /**
     * @generated from enum value: STATE_TRANSFERING_DATA = 2;
     */
    TRANSFERING_DATA = 2,
    /**
     * @generated from enum value: STATE_APPLYING = 3;
     */
    APPLYING = 3,
    /**
     * @generated from enum value: STATE_DONE = 4;
     */
    DONE = 4,
    /**
     * @generated from enum value: STATE_CANCELLATION = 5;
     */
    CANCELLATION = 5,
    /**
     * @generated from enum value: STATE_CANCELLED = 6;
     */
    CANCELLED = 6,
    /**
     * @generated from enum value: STATE_REJECTION = 7;
     */
    REJECTION = 7,
    /**
     * @generated from enum value: STATE_REJECTED = 8;
     */
    REJECTED = 8
}
/**
 * Describes the enum Ydb.Table.IndexBuildState.State.
 */
export declare const IndexBuildState_StateSchema: GenEnum<IndexBuildState_State>;
/**
 * Description of index building operation
 *
 * @generated from message Ydb.Table.IndexBuildDescription
 */
export type IndexBuildDescription = Message<"Ydb.Table.IndexBuildDescription"> & {
    /**
     * @generated from field: string path = 1;
     */
    path: string;
    /**
     * @generated from field: Ydb.Table.TableIndex index = 2;
     */
    index?: TableIndex;
};
/**
 * Describes the message Ydb.Table.IndexBuildDescription.
 * Use `create(IndexBuildDescriptionSchema)` to create a new message.
 */
export declare const IndexBuildDescriptionSchema: GenMessage<IndexBuildDescription>;
/**
 * @generated from message Ydb.Table.IndexBuildMetadata
 */
export type IndexBuildMetadata = Message<"Ydb.Table.IndexBuildMetadata"> & {
    /**
     * @generated from field: Ydb.Table.IndexBuildDescription description = 1;
     */
    description?: IndexBuildDescription;
    /**
     * @generated from field: Ydb.Table.IndexBuildState.State state = 2;
     */
    state: IndexBuildState_State;
    /**
     * @generated from field: float progress = 3;
     */
    progress: number;
};
/**
 * Describes the message Ydb.Table.IndexBuildMetadata.
 * Use `create(IndexBuildMetadataSchema)` to create a new message.
 */
export declare const IndexBuildMetadataSchema: GenMessage<IndexBuildMetadata>;
/**
 * @generated from message Ydb.Table.ChangefeedMode
 */
export type ChangefeedMode = Message<"Ydb.Table.ChangefeedMode"> & {};
/**
 * Describes the message Ydb.Table.ChangefeedMode.
 * Use `create(ChangefeedModeSchema)` to create a new message.
 */
export declare const ChangefeedModeSchema: GenMessage<ChangefeedMode>;
/**
 * @generated from enum Ydb.Table.ChangefeedMode.Mode
 */
export declare enum ChangefeedMode_Mode {
    /**
     * @generated from enum value: MODE_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * Only the key component of the modified row
     *
     * @generated from enum value: MODE_KEYS_ONLY = 1;
     */
    KEYS_ONLY = 1,
    /**
     * Updated columns
     *
     * @generated from enum value: MODE_UPDATES = 2;
     */
    UPDATES = 2,
    /**
     * The entire row, as it appears after it was modified
     *
     * @generated from enum value: MODE_NEW_IMAGE = 3;
     */
    NEW_IMAGE = 3,
    /**
     * The entire row, as it appeared before it was modified
     *
     * @generated from enum value: MODE_OLD_IMAGE = 4;
     */
    OLD_IMAGE = 4,
    /**
     * Both new and old images of the row
     *
     * @generated from enum value: MODE_NEW_AND_OLD_IMAGES = 5;
     */
    NEW_AND_OLD_IMAGES = 5
}
/**
 * Describes the enum Ydb.Table.ChangefeedMode.Mode.
 */
export declare const ChangefeedMode_ModeSchema: GenEnum<ChangefeedMode_Mode>;
/**
 * @generated from message Ydb.Table.ChangefeedFormat
 */
export type ChangefeedFormat = Message<"Ydb.Table.ChangefeedFormat"> & {};
/**
 * Describes the message Ydb.Table.ChangefeedFormat.
 * Use `create(ChangefeedFormatSchema)` to create a new message.
 */
export declare const ChangefeedFormatSchema: GenMessage<ChangefeedFormat>;
/**
 * @generated from enum Ydb.Table.ChangefeedFormat.Format
 */
export declare enum ChangefeedFormat_Format {
    /**
     * @generated from enum value: FORMAT_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * Change record in JSON format for common (row oriented) tables
     *
     * @generated from enum value: FORMAT_JSON = 1;
     */
    JSON = 1,
    /**
     * Change record in JSON format for document (DynamoDB-compatible) tables
     *
     * @generated from enum value: FORMAT_DYNAMODB_STREAMS_JSON = 2;
     */
    DYNAMODB_STREAMS_JSON = 2,
    /**
     * Debezium-like change record JSON format for common (row oriented) tables
     *
     * @generated from enum value: FORMAT_DEBEZIUM_JSON = 3;
     */
    DEBEZIUM_JSON = 3
}
/**
 * Describes the enum Ydb.Table.ChangefeedFormat.Format.
 */
export declare const ChangefeedFormat_FormatSchema: GenEnum<ChangefeedFormat_Format>;
/**
 * @generated from message Ydb.Table.Changefeed
 */
export type Changefeed = Message<"Ydb.Table.Changefeed"> & {
    /**
     * Name of the feed
     *
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * Mode specifies the information that will be written to the feed
     *
     * @generated from field: Ydb.Table.ChangefeedMode.Mode mode = 2;
     */
    mode: ChangefeedMode_Mode;
    /**
     * Format of the data
     *
     * @generated from field: Ydb.Table.ChangefeedFormat.Format format = 3;
     */
    format: ChangefeedFormat_Format;
    /**
     * How long data in changefeed's underlying topic should be stored
     *
     * @generated from field: google.protobuf.Duration retention_period = 4;
     */
    retentionPeriod?: Duration;
    /**
     * Emit virtual timestamps of changes along with data or not
     *
     * @generated from field: bool virtual_timestamps = 5;
     */
    virtualTimestamps: boolean;
    /**
     * Initial scan will output the current state of the table first
     *
     * @generated from field: bool initial_scan = 6;
     */
    initialScan: boolean;
    /**
     * Attributes. Total size is limited to 10 KB.
     *
     * @generated from field: map<string, string> attributes = 7;
     */
    attributes: {
        [key: string]: string;
    };
    /**
     * Value that will be emitted in the `awsRegion` field of the record in DYNAMODB_STREAMS_JSON format
     *
     * @generated from field: string aws_region = 8;
     */
    awsRegion: string;
    /**
     * Periodically emit resolved timestamps. If unspecified, resolved timestamps are not emitted.
     *
     * @generated from field: google.protobuf.Duration resolved_timestamps_interval = 9;
     */
    resolvedTimestampsInterval?: Duration;
    /**
     * Partitioning settings of underlying topic.
     *
     * @generated from field: Ydb.Topic.PartitioningSettings topic_partitioning_settings = 10;
     */
    topicPartitioningSettings?: PartitioningSettings$1;
};
/**
 * Describes the message Ydb.Table.Changefeed.
 * Use `create(ChangefeedSchema)` to create a new message.
 */
export declare const ChangefeedSchema: GenMessage<Changefeed>;
/**
 * @generated from message Ydb.Table.ChangefeedDescription
 */
export type ChangefeedDescription = Message<"Ydb.Table.ChangefeedDescription"> & {
    /**
     * Name of the feed
     *
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * Mode specifies the information that will be written to the feed
     *
     * @generated from field: Ydb.Table.ChangefeedMode.Mode mode = 2;
     */
    mode: ChangefeedMode_Mode;
    /**
     * Format of the data
     *
     * @generated from field: Ydb.Table.ChangefeedFormat.Format format = 3;
     */
    format: ChangefeedFormat_Format;
    /**
     * State of the feed
     *
     * @generated from field: Ydb.Table.ChangefeedDescription.State state = 4;
     */
    state: ChangefeedDescription_State;
    /**
     * State of emitting of virtual timestamps along with data
     *
     * @generated from field: bool virtual_timestamps = 5;
     */
    virtualTimestamps: boolean;
    /**
     * Attributes
     *
     * @generated from field: map<string, string> attributes = 6;
     */
    attributes: {
        [key: string]: string;
    };
    /**
     * Value that will be emitted in the `awsRegion` field of the record in DYNAMODB_STREAMS_JSON format
     *
     * @generated from field: string aws_region = 7;
     */
    awsRegion: string;
    /**
     * Interval of emitting of resolved timestamps. If unspecified, resolved timestamps are not emitted.
     *
     * @generated from field: google.protobuf.Duration resolved_timestamps_interval = 8;
     */
    resolvedTimestampsInterval?: Duration;
};
/**
 * Describes the message Ydb.Table.ChangefeedDescription.
 * Use `create(ChangefeedDescriptionSchema)` to create a new message.
 */
export declare const ChangefeedDescriptionSchema: GenMessage<ChangefeedDescription>;
/**
 * @generated from enum Ydb.Table.ChangefeedDescription.State
 */
export declare enum ChangefeedDescription_State {
    /**
     * @generated from enum value: STATE_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * Normal state, from this state changefeed can be disabled
     *
     * @generated from enum value: STATE_ENABLED = 1;
     */
    ENABLED = 1,
    /**
     * No new change records are generated, but the old ones remain available
     * From this state changefeed cannot be switched to any other state
     *
     * @generated from enum value: STATE_DISABLED = 2;
     */
    DISABLED = 2,
    /**
     * An initial scan is being performed.
     * After its completion changefeed will switch to the normal state
     *
     * @generated from enum value: STATE_INITIAL_SCAN = 3;
     */
    INITIAL_SCAN = 3
}
/**
 * Describes the enum Ydb.Table.ChangefeedDescription.State.
 */
export declare const ChangefeedDescription_StateSchema: GenEnum<ChangefeedDescription_State>;
/**
 * @generated from message Ydb.Table.StoragePool
 */
export type StoragePool = Message<"Ydb.Table.StoragePool"> & {
    /**
     * @generated from field: string media = 1;
     */
    media: string;
};
/**
 * Describes the message Ydb.Table.StoragePool.
 * Use `create(StoragePoolSchema)` to create a new message.
 */
export declare const StoragePoolSchema: GenMessage<StoragePool>;
/**
 * @generated from message Ydb.Table.StoragePolicy
 */
export type StoragePolicy = Message<"Ydb.Table.StoragePolicy"> & {
    /**
     * @generated from field: string preset_name = 1;
     */
    presetName: string;
    /**
     * @generated from field: Ydb.Table.StoragePool syslog = 2;
     */
    syslog?: StoragePool;
    /**
     * @generated from field: Ydb.Table.StoragePool log = 3;
     */
    log?: StoragePool;
    /**
     * @generated from field: Ydb.Table.StoragePool data = 4;
     */
    data?: StoragePool;
    /**
     * @generated from field: Ydb.Table.StoragePool external = 5;
     */
    external?: StoragePool;
    /**
     * @generated from field: Ydb.FeatureFlag.Status keep_in_memory = 6;
     */
    keepInMemory: FeatureFlag_Status;
    /**
     * @generated from field: repeated Ydb.Table.ColumnFamilyPolicy column_families = 7;
     */
    columnFamilies: ColumnFamilyPolicy[];
};
/**
 * Describes the message Ydb.Table.StoragePolicy.
 * Use `create(StoragePolicySchema)` to create a new message.
 */
export declare const StoragePolicySchema: GenMessage<StoragePolicy>;
/**
 * @generated from message Ydb.Table.ColumnFamilyPolicy
 */
export type ColumnFamilyPolicy = Message<"Ydb.Table.ColumnFamilyPolicy"> & {
    /**
     * Name of the column family, the name "default" must be used for the
     * primary column family that contains as least primary key columns
     *
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * Storage settings for the column group (default to values in storage policy)
     *
     * @generated from field: Ydb.Table.StoragePool data = 2;
     */
    data?: StoragePool;
    /**
     * @generated from field: Ydb.Table.StoragePool external = 3;
     */
    external?: StoragePool;
    /**
     * When enabled table data will be kept in memory
     * WARNING: DO NOT USE
     *
     * @generated from field: Ydb.FeatureFlag.Status keep_in_memory = 4;
     */
    keepInMemory: FeatureFlag_Status;
    /**
     * Optionally specify whether data should be compressed
     *
     * @generated from field: Ydb.Table.ColumnFamilyPolicy.Compression compression = 5;
     */
    compression: ColumnFamilyPolicy_Compression;
};
/**
 * Describes the message Ydb.Table.ColumnFamilyPolicy.
 * Use `create(ColumnFamilyPolicySchema)` to create a new message.
 */
export declare const ColumnFamilyPolicySchema: GenMessage<ColumnFamilyPolicy>;
/**
 * @generated from enum Ydb.Table.ColumnFamilyPolicy.Compression
 */
export declare enum ColumnFamilyPolicy_Compression {
    /**
     * @generated from enum value: COMPRESSION_UNSPECIFIED = 0;
     */
    COMPRESSION_UNSPECIFIED = 0,
    /**
     * @generated from enum value: UNCOMPRESSED = 1;
     */
    UNCOMPRESSED = 1,
    /**
     * @generated from enum value: COMPRESSED = 2;
     */
    COMPRESSED = 2
}
/**
 * Describes the enum Ydb.Table.ColumnFamilyPolicy.Compression.
 */
export declare const ColumnFamilyPolicy_CompressionSchema: GenEnum<ColumnFamilyPolicy_Compression>;
/**
 * @generated from message Ydb.Table.CompactionPolicy
 */
export type CompactionPolicy = Message<"Ydb.Table.CompactionPolicy"> & {
    /**
     * @generated from field: string preset_name = 1;
     */
    presetName: string;
};
/**
 * Describes the message Ydb.Table.CompactionPolicy.
 * Use `create(CompactionPolicySchema)` to create a new message.
 */
export declare const CompactionPolicySchema: GenMessage<CompactionPolicy>;
/**
 * @generated from message Ydb.Table.ExplicitPartitions
 */
export type ExplicitPartitions = Message<"Ydb.Table.ExplicitPartitions"> & {
    /**
     * Specify key values used to split table into partitions.
     * Each value becomes the first key of a new partition.
     * Key values should go in ascending order.
     * Total number of created partitions is number of specified
     * keys + 1.
     *
     * @generated from field: repeated Ydb.TypedValue split_points = 1;
     */
    splitPoints: TypedValue[];
};
/**
 * Describes the message Ydb.Table.ExplicitPartitions.
 * Use `create(ExplicitPartitionsSchema)` to create a new message.
 */
export declare const ExplicitPartitionsSchema: GenMessage<ExplicitPartitions>;
/**
 * @generated from message Ydb.Table.PartitionStats
 */
export type PartitionStats = Message<"Ydb.Table.PartitionStats"> & {
    /**
     * Approximate number of rows in shard
     *
     * @generated from field: uint64 rows_estimate = 1;
     */
    rowsEstimate: bigint;
    /**
     * Approximate size of shard (bytes)
     *
     * @generated from field: uint64 store_size = 2;
     */
    storeSize: bigint;
    /**
     * id of node that serve shard key range
     *
     * @generated from field: uint32 leader_node_id = 3;
     */
    leaderNodeId: number;
};
/**
 * Describes the message Ydb.Table.PartitionStats.
 * Use `create(PartitionStatsSchema)` to create a new message.
 */
export declare const PartitionStatsSchema: GenMessage<PartitionStats>;
/**
 * @generated from message Ydb.Table.TableStats
 */
export type TableStats = Message<"Ydb.Table.TableStats"> & {
    /**
     * Stats for each partition
     *
     * @generated from field: repeated Ydb.Table.PartitionStats partition_stats = 1;
     */
    partitionStats: PartitionStats[];
    /**
     * Approximate number of rows in table
     *
     * @generated from field: uint64 rows_estimate = 2;
     */
    rowsEstimate: bigint;
    /**
     * Approximate size of table (bytes)
     *
     * @generated from field: uint64 store_size = 3;
     */
    storeSize: bigint;
    /**
     * Number of partitions in table
     *
     * @generated from field: uint64 partitions = 4;
     */
    partitions: bigint;
    /**
     * Timestamp of table creation
     *
     * @generated from field: google.protobuf.Timestamp creation_time = 5;
     */
    creationTime?: Timestamp;
    /**
     * Timestamp of last modification
     *
     * @generated from field: google.protobuf.Timestamp modification_time = 6;
     */
    modificationTime?: Timestamp;
};
/**
 * Describes the message Ydb.Table.TableStats.
 * Use `create(TableStatsSchema)` to create a new message.
 */
export declare const TableStatsSchema: GenMessage<TableStats>;
/**
 * @generated from message Ydb.Table.PartitioningPolicy
 */
export type PartitioningPolicy = Message<"Ydb.Table.PartitioningPolicy"> & {
    /**
     * @generated from field: string preset_name = 1;
     */
    presetName: string;
    /**
     * @generated from field: Ydb.Table.PartitioningPolicy.AutoPartitioningPolicy auto_partitioning = 2;
     */
    autoPartitioning: PartitioningPolicy_AutoPartitioningPolicy;
    /**
     * @generated from oneof Ydb.Table.PartitioningPolicy.partitions
     */
    partitions: {
        /**
         * Allows to enable uniform sharding using given shards number.
         * The first components of primary key must have Uint32/Uint64 type.
         *
         * @generated from field: uint64 uniform_partitions = 3;
         */
        value: bigint;
        case: "uniformPartitions";
    } | {
        /**
         * Explicitly specify key values which are used as borders for
         * created partitions.
         *
         * @generated from field: Ydb.Table.ExplicitPartitions explicit_partitions = 4;
         */
        value: ExplicitPartitions;
        case: "explicitPartitions";
    } | {
        case: undefined;
        value?: undefined;
    };
};
/**
 * Describes the message Ydb.Table.PartitioningPolicy.
 * Use `create(PartitioningPolicySchema)` to create a new message.
 */
export declare const PartitioningPolicySchema: GenMessage<PartitioningPolicy>;
/**
 * @generated from enum Ydb.Table.PartitioningPolicy.AutoPartitioningPolicy
 */
export declare enum PartitioningPolicy_AutoPartitioningPolicy {
    /**
     * @generated from enum value: AUTO_PARTITIONING_POLICY_UNSPECIFIED = 0;
     */
    AUTO_PARTITIONING_POLICY_UNSPECIFIED = 0,
    /**
     * @generated from enum value: DISABLED = 1;
     */
    DISABLED = 1,
    /**
     * @generated from enum value: AUTO_SPLIT = 2;
     */
    AUTO_SPLIT = 2,
    /**
     * @generated from enum value: AUTO_SPLIT_MERGE = 3;
     */
    AUTO_SPLIT_MERGE = 3
}
/**
 * Describes the enum Ydb.Table.PartitioningPolicy.AutoPartitioningPolicy.
 */
export declare const PartitioningPolicy_AutoPartitioningPolicySchema: GenEnum<PartitioningPolicy_AutoPartitioningPolicy>;
/**
 * @generated from message Ydb.Table.ExecutionPolicy
 */
export type ExecutionPolicy = Message<"Ydb.Table.ExecutionPolicy"> & {
    /**
     * @generated from field: string preset_name = 1;
     */
    presetName: string;
};
/**
 * Describes the message Ydb.Table.ExecutionPolicy.
 * Use `create(ExecutionPolicySchema)` to create a new message.
 */
export declare const ExecutionPolicySchema: GenMessage<ExecutionPolicy>;
/**
 * @generated from message Ydb.Table.ReplicationPolicy
 */
export type ReplicationPolicy = Message<"Ydb.Table.ReplicationPolicy"> & {
    /**
     * @generated from field: string preset_name = 1;
     */
    presetName: string;
    /**
     * If value is non-zero then it specifies a number of read-only
     * replicas to create for a table. Zero value means preset
     * setting usage.
     *
     * @generated from field: uint32 replicas_count = 2;
     */
    replicasCount: number;
    /**
     * If this feature in enabled then requested number of replicas
     * will be created in each availability zone.
     *
     * @generated from field: Ydb.FeatureFlag.Status create_per_availability_zone = 3;
     */
    createPerAvailabilityZone: FeatureFlag_Status;
    /**
     * If this feature in enabled then read-only replicas can be promoted
     * to leader.
     *
     * @generated from field: Ydb.FeatureFlag.Status allow_promotion = 4;
     */
    allowPromotion: FeatureFlag_Status;
};
/**
 * Describes the message Ydb.Table.ReplicationPolicy.
 * Use `create(ReplicationPolicySchema)` to create a new message.
 */
export declare const ReplicationPolicySchema: GenMessage<ReplicationPolicy>;
/**
 * @generated from message Ydb.Table.CachingPolicy
 */
export type CachingPolicy = Message<"Ydb.Table.CachingPolicy"> & {
    /**
     * @generated from field: string preset_name = 1;
     */
    presetName: string;
};
/**
 * Describes the message Ydb.Table.CachingPolicy.
 * Use `create(CachingPolicySchema)` to create a new message.
 */
export declare const CachingPolicySchema: GenMessage<CachingPolicy>;
/**
 * @generated from message Ydb.Table.TableProfile
 */
export type TableProfile = Message<"Ydb.Table.TableProfile"> & {
    /**
     * @generated from field: string preset_name = 1;
     */
    presetName: string;
    /**
     * @generated from field: Ydb.Table.StoragePolicy storage_policy = 2;
     */
    storagePolicy?: StoragePolicy;
    /**
     * @generated from field: Ydb.Table.CompactionPolicy compaction_policy = 3;
     */
    compactionPolicy?: CompactionPolicy;
    /**
     * @generated from field: Ydb.Table.PartitioningPolicy partitioning_policy = 4;
     */
    partitioningPolicy?: PartitioningPolicy;
    /**
     * @generated from field: Ydb.Table.ExecutionPolicy execution_policy = 5;
     */
    executionPolicy?: ExecutionPolicy;
    /**
     * @generated from field: Ydb.Table.ReplicationPolicy replication_policy = 6;
     */
    replicationPolicy?: ReplicationPolicy;
    /**
     * @generated from field: Ydb.Table.CachingPolicy caching_policy = 7;
     */
    cachingPolicy?: CachingPolicy;
};
/**
 * Describes the message Ydb.Table.TableProfile.
 * Use `create(TableProfileSchema)` to create a new message.
 */
export declare const TableProfileSchema: GenMessage<TableProfile>;
/**
 * @generated from message Ydb.Table.SequenceDescription
 */
export type SequenceDescription = Message<"Ydb.Table.SequenceDescription"> & {
    /**
     * mandatorys
     *
     * @generated from field: optional string name = 1;
     */
    name?: string;
    /**
     * minimum value, defaults to 1 or Min<i64>
     *
     * @generated from field: optional sint64 min_value = 2;
     */
    minValue?: bigint;
    /**
     * maximum value, defaults to Max<i64> or -1
     *
     * @generated from field: optional sint64 max_value = 3;
     */
    maxValue?: bigint;
    /**
     * start value, defaults to min_value
     *
     * @generated from field: optional sint64 start_value = 4;
     */
    startValue?: bigint;
    /**
     * number of items to cache, defaults to 1
     *
     * @generated from field: optional uint64 cache = 5;
     */
    cache?: bigint;
    /**
     * increment at each call, defaults to 1
     *
     * @generated from field: optional sint64 increment = 6;
     */
    increment?: bigint;
    /**
     * true when cycle on overflow is allowed
     *
     * @generated from field: optional bool cycle = 7;
     */
    cycle?: boolean;
    /**
     * set_val(next_value, next_used) is executed atomically when creating
     *
     * @generated from field: optional Ydb.Table.SequenceDescription.SetVal set_val = 8;
     */
    setVal?: SequenceDescription_SetVal;
};
/**
 * Describes the message Ydb.Table.SequenceDescription.
 * Use `create(SequenceDescriptionSchema)` to create a new message.
 */
export declare const SequenceDescriptionSchema: GenMessage<SequenceDescription>;
/**
 * @generated from message Ydb.Table.SequenceDescription.SetVal
 */
export type SequenceDescription_SetVal = Message<"Ydb.Table.SequenceDescription.SetVal"> & {
    /**
     * @generated from field: optional sint64 next_value = 1;
     */
    nextValue?: bigint;
    /**
     * @generated from field: optional bool next_used = 2;
     */
    nextUsed?: boolean;
};
/**
 * Describes the message Ydb.Table.SequenceDescription.SetVal.
 * Use `create(SequenceDescription_SetValSchema)` to create a new message.
 */
export declare const SequenceDescription_SetValSchema: GenMessage<SequenceDescription_SetVal>;
/**
 * @generated from message Ydb.Table.ColumnMeta
 */
export type ColumnMeta = Message<"Ydb.Table.ColumnMeta"> & {
    /**
     * Name of column
     *
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * Type of column
     *
     * @generated from field: Ydb.Type type = 2;
     */
    type?: Type;
    /**
     * Column family name of the column
     *
     * @generated from field: string family = 3;
     */
    family: string;
    /**
     * Column nullability
     *
     * @generated from field: optional bool not_null = 4;
     */
    notNull?: boolean;
    /**
     * Column default value option
     *
     * @generated from oneof Ydb.Table.ColumnMeta.default_value
     */
    defaultValue: {
        /**
         * @generated from field: Ydb.TypedValue from_literal = 5;
         */
        value: TypedValue;
        case: "fromLiteral";
    } | {
        /**
         * @generated from field: Ydb.Table.SequenceDescription from_sequence = 6;
         */
        value: SequenceDescription;
        case: "fromSequence";
    } | {
        case: undefined;
        value?: undefined;
    };
};
/**
 * Describes the message Ydb.Table.ColumnMeta.
 * Use `create(ColumnMetaSchema)` to create a new message.
 */
export declare const ColumnMetaSchema: GenMessage<ColumnMeta>;
/**
 * The row will be considered as expired at the moment of time, when the value
 * stored in <column_name> is less than or equal to the current time (in epoch
 * time format), and <expire_after_seconds> has passed since that moment;
 * i.e. the expiration threshold is the value of <column_name> plus <expire_after_seconds>.
 *
 * @generated from message Ydb.Table.DateTypeColumnModeSettings
 */
export type DateTypeColumnModeSettings = Message<"Ydb.Table.DateTypeColumnModeSettings"> & {
    /**
     * The column type must be a date type
     *
     * @generated from field: string column_name = 1;
     */
    columnName: string;
    /**
     * @generated from field: uint32 expire_after_seconds = 2;
     */
    expireAfterSeconds: number;
};
/**
 * Describes the message Ydb.Table.DateTypeColumnModeSettings.
 * Use `create(DateTypeColumnModeSettingsSchema)` to create a new message.
 */
export declare const DateTypeColumnModeSettingsSchema: GenMessage<DateTypeColumnModeSettings>;
/**
 * Same as DateTypeColumnModeSettings (above), but useful when type of the
 * value stored in <column_name> is not a date type.
 *
 * @generated from message Ydb.Table.ValueSinceUnixEpochModeSettings
 */
export type ValueSinceUnixEpochModeSettings = Message<"Ydb.Table.ValueSinceUnixEpochModeSettings"> & {
    /**
     * The column type must be one of:
     * - Uint32
     * - Uint64
     * - DyNumber
     *
     * @generated from field: string column_name = 1;
     */
    columnName: string;
    /**
     * Interpretation of the value stored in <column_name>
     *
     * @generated from field: Ydb.Table.ValueSinceUnixEpochModeSettings.Unit column_unit = 2;
     */
    columnUnit: ValueSinceUnixEpochModeSettings_Unit;
    /**
     * This option is always interpreted as seconds regardless of the
     * <column_unit> value.
     *
     * @generated from field: uint32 expire_after_seconds = 3;
     */
    expireAfterSeconds: number;
};
/**
 * Describes the message Ydb.Table.ValueSinceUnixEpochModeSettings.
 * Use `create(ValueSinceUnixEpochModeSettingsSchema)` to create a new message.
 */
export declare const ValueSinceUnixEpochModeSettingsSchema: GenMessage<ValueSinceUnixEpochModeSettings>;
/**
 * @generated from enum Ydb.Table.ValueSinceUnixEpochModeSettings.Unit
 */
export declare enum ValueSinceUnixEpochModeSettings_Unit {
    /**
     * @generated from enum value: UNIT_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * @generated from enum value: UNIT_SECONDS = 1;
     */
    SECONDS = 1,
    /**
     * @generated from enum value: UNIT_MILLISECONDS = 2;
     */
    MILLISECONDS = 2,
    /**
     * @generated from enum value: UNIT_MICROSECONDS = 3;
     */
    MICROSECONDS = 3,
    /**
     * @generated from enum value: UNIT_NANOSECONDS = 4;
     */
    NANOSECONDS = 4
}
/**
 * Describes the enum Ydb.Table.ValueSinceUnixEpochModeSettings.Unit.
 */
export declare const ValueSinceUnixEpochModeSettings_UnitSchema: GenEnum<ValueSinceUnixEpochModeSettings_Unit>;
/**
 * @generated from message Ydb.Table.TtlSettings
 */
export type TtlSettings = Message<"Ydb.Table.TtlSettings"> & {
    /**
     * @generated from oneof Ydb.Table.TtlSettings.mode
     */
    mode: {
        /**
         * @generated from field: Ydb.Table.DateTypeColumnModeSettings date_type_column = 1;
         */
        value: DateTypeColumnModeSettings;
        case: "dateTypeColumn";
    } | {
        /**
         * @generated from field: Ydb.Table.ValueSinceUnixEpochModeSettings value_since_unix_epoch = 2;
         */
        value: ValueSinceUnixEpochModeSettings;
        case: "valueSinceUnixEpoch";
    } | {
        case: undefined;
        value?: undefined;
    };
    /**
     * How often to run BRO on the same partition.
     * BRO will not be started more often, but may be started less often.
     *
     * @generated from field: uint32 run_interval_seconds = 3;
     */
    runIntervalSeconds: number;
};
/**
 * Describes the message Ydb.Table.TtlSettings.
 * Use `create(TtlSettingsSchema)` to create a new message.
 */
export declare const TtlSettingsSchema: GenMessage<TtlSettings>;
/**
 * @generated from message Ydb.Table.StorageSettings
 */
export type StorageSettings = Message<"Ydb.Table.StorageSettings"> & {
    /**
     * This specifies internal channel 0 commit log storage pool
     * Fastest available storage recommended, negligible amounts of short-lived data
     *
     * @generated from field: Ydb.Table.StoragePool tablet_commit_log0 = 1;
     */
    tabletCommitLog0?: StoragePool;
    /**
     * This specifies internal channel 1 commit log storage pool
     * Fastest available storage recommended, small amounts of short-lived data
     *
     * @generated from field: Ydb.Table.StoragePool tablet_commit_log1 = 2;
     */
    tabletCommitLog1?: StoragePool;
    /**
     * This specifies external blobs storage pool
     *
     * @generated from field: Ydb.Table.StoragePool external = 4;
     */
    external?: StoragePool;
    /**
     * Optionally store large values in "external blobs"
     * WARNING: DO NOT USE
     * This feature is experimental and should not be used, restrictions apply:
     * * Table cannot split/merge when this is enabled
     * * Table cannot be copied or backed up when this is enabled
     * * This feature cannot be disabled once enabled for a table
     *
     * @generated from field: Ydb.FeatureFlag.Status store_external_blobs = 5;
     */
    storeExternalBlobs: FeatureFlag_Status;
};
/**
 * Describes the message Ydb.Table.StorageSettings.
 * Use `create(StorageSettingsSchema)` to create a new message.
 */
export declare const StorageSettingsSchema: GenMessage<StorageSettings>;
/**
 * @generated from message Ydb.Table.ColumnFamily
 */
export type ColumnFamily = Message<"Ydb.Table.ColumnFamily"> & {
    /**
     * Name of the column family, the name "default" must be used for the
     * primary column family that contains at least primary key columns
     *
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * This specifies data storage settings for column family
     *
     * @generated from field: Ydb.Table.StoragePool data = 2;
     */
    data?: StoragePool;
    /**
     * Optionally specify how data should be compressed
     *
     * @generated from field: Ydb.Table.ColumnFamily.Compression compression = 3;
     */
    compression: ColumnFamily_Compression;
    /**
     * When enabled table data will be kept in memory
     * WARNING: DO NOT USE
     *
     * @generated from field: Ydb.FeatureFlag.Status keep_in_memory = 4;
     */
    keepInMemory: FeatureFlag_Status;
};
/**
 * Describes the message Ydb.Table.ColumnFamily.
 * Use `create(ColumnFamilySchema)` to create a new message.
 */
export declare const ColumnFamilySchema: GenMessage<ColumnFamily>;
/**
 * @generated from enum Ydb.Table.ColumnFamily.Compression
 */
export declare enum ColumnFamily_Compression {
    /**
     * @generated from enum value: COMPRESSION_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * @generated from enum value: COMPRESSION_NONE = 1;
     */
    NONE = 1,
    /**
     * @generated from enum value: COMPRESSION_LZ4 = 2;
     */
    LZ4 = 2
}
/**
 * Describes the enum Ydb.Table.ColumnFamily.Compression.
 */
export declare const ColumnFamily_CompressionSchema: GenEnum<ColumnFamily_Compression>;
/**
 * @generated from message Ydb.Table.PartitioningSettings
 */
export type PartitioningSettings = Message<"Ydb.Table.PartitioningSettings"> & {
    /**
     * List of columns to partition by
     *
     * @generated from field: repeated string partition_by = 1;
     */
    partitionBy: string[];
    /**
     * Enable auto partitioning on reaching upper or lower partition size bound
     *
     * @generated from field: Ydb.FeatureFlag.Status partitioning_by_size = 2;
     */
    partitioningBySize: FeatureFlag_Status;
    /**
     * Preferred partition size for auto partitioning by size, Mb
     *
     * @generated from field: uint64 partition_size_mb = 3;
     */
    partitionSizeMb: bigint;
    /**
     * Enable auto partitioning based on load on each partition
     *
     * @generated from field: Ydb.FeatureFlag.Status partitioning_by_load = 4;
     */
    partitioningByLoad: FeatureFlag_Status;
    /**
     * Minimum partitions count auto merge would stop working at
     *
     * @generated from field: uint64 min_partitions_count = 6;
     */
    minPartitionsCount: bigint;
    /**
     * Maximum partitions count auto split would stop working at
     *
     * @generated from field: uint64 max_partitions_count = 7;
     */
    maxPartitionsCount: bigint;
};
/**
 * Describes the message Ydb.Table.PartitioningSettings.
 * Use `create(PartitioningSettingsSchema)` to create a new message.
 */
export declare const PartitioningSettingsSchema: GenMessage<PartitioningSettings>;
/**
 * @generated from message Ydb.Table.AzReadReplicasSettings
 */
export type AzReadReplicasSettings = Message<"Ydb.Table.AzReadReplicasSettings"> & {
    /**
     * AZ name
     *
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * Read replicas count in this AZ
     *
     * @generated from field: uint64 read_replicas_count = 2;
     */
    readReplicasCount: bigint;
};
/**
 * Describes the message Ydb.Table.AzReadReplicasSettings.
 * Use `create(AzReadReplicasSettingsSchema)` to create a new message.
 */
export declare const AzReadReplicasSettingsSchema: GenMessage<AzReadReplicasSettings>;
/**
 * @generated from message Ydb.Table.ClusterReplicasSettings
 */
export type ClusterReplicasSettings = Message<"Ydb.Table.ClusterReplicasSettings"> & {
    /**
     * List of read replicas settings for each AZ
     *
     * @generated from field: repeated Ydb.Table.AzReadReplicasSettings az_read_replicas_settings = 2;
     */
    azReadReplicasSettings: AzReadReplicasSettings[];
};
/**
 * Describes the message Ydb.Table.ClusterReplicasSettings.
 * Use `create(ClusterReplicasSettingsSchema)` to create a new message.
 */
export declare const ClusterReplicasSettingsSchema: GenMessage<ClusterReplicasSettings>;
/**
 * @generated from message Ydb.Table.ReadReplicasSettings
 */
export type ReadReplicasSettings = Message<"Ydb.Table.ReadReplicasSettings"> & {
    /**
     * @generated from oneof Ydb.Table.ReadReplicasSettings.settings
     */
    settings: {
        /**
         * Set equal read replicas count for every AZ
         *
         * @generated from field: uint64 per_az_read_replicas_count = 1;
         */
        value: bigint;
        case: "perAzReadReplicasCount";
    } | {
        /**
         * Set total replicas count between all AZs
         *
         * @generated from field: uint64 any_az_read_replicas_count = 2;
         */
        value: bigint;
        case: "anyAzReadReplicasCount";
    } | {
        case: undefined;
        value?: undefined;
    };
};
/**
 * Describes the message Ydb.Table.ReadReplicasSettings.
 * Use `create(ReadReplicasSettingsSchema)` to create a new message.
 */
export declare const ReadReplicasSettingsSchema: GenMessage<ReadReplicasSettings>;
/**
 * @generated from message Ydb.Table.CreateTableRequest
 */
export type CreateTableRequest = Message<"Ydb.Table.CreateTableRequest"> & {
    /**
     * Session identifier
     *
     * @generated from field: string session_id = 1;
     */
    sessionId: string;
    /**
     * Full path
     *
     * @generated from field: string path = 2;
     */
    path: string;
    /**
     * Columns (name, type)
     *
     * @generated from field: repeated Ydb.Table.ColumnMeta columns = 3;
     */
    columns: ColumnMeta[];
    /**
     * List of columns used as primary key
     *
     * @generated from field: repeated string primary_key = 4;
     */
    primaryKey: string[];
    /**
     * Table profile
     *
     * @generated from field: Ydb.Table.TableProfile profile = 5;
     */
    profile?: TableProfile;
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 6;
     */
    operationParams?: OperationParams;
    /**
     * List of secondary indexes
     *
     * @generated from field: repeated Ydb.Table.TableIndex indexes = 7;
     */
    indexes: TableIndex[];
    /**
     * Table rows time to live settings
     *
     * @generated from field: Ydb.Table.TtlSettings ttl_settings = 8;
     */
    ttlSettings?: TtlSettings;
    /**
     * Storage settings for table
     *
     * @generated from field: Ydb.Table.StorageSettings storage_settings = 9;
     */
    storageSettings?: StorageSettings;
    /**
     * Column families
     *
     * @generated from field: repeated Ydb.Table.ColumnFamily column_families = 10;
     */
    columnFamilies: ColumnFamily[];
    /**
     * Attributes. Total size is limited to 10 KB.
     *
     * @generated from field: map<string, string> attributes = 11;
     */
    attributes: {
        [key: string]: string;
    };
    /**
     * Predefined named set of settings for table compaction ["default", "small_table", "log_table"].
     *
     * @generated from field: string compaction_policy = 12;
     */
    compactionPolicy: string;
    /**
     * Either one of the following partitions options can be specified
     *
     * @generated from oneof Ydb.Table.CreateTableRequest.partitions
     */
    partitions: {
        /**
         * Enable uniform partitioning using given partitions count.
         * The first components of primary key must have Uint32/Uint64 type.
         *
         * @generated from field: uint64 uniform_partitions = 13;
         */
        value: bigint;
        case: "uniformPartitions";
    } | {
        /**
         * Explicitly specify key values which are used as borders for created partitions.
         *
         * @generated from field: Ydb.Table.ExplicitPartitions partition_at_keys = 14;
         */
        value: ExplicitPartitions;
        case: "partitionAtKeys";
    } | {
        case: undefined;
        value?: undefined;
    };
    /**
     * Partitioning settings for table
     *
     * @generated from field: Ydb.Table.PartitioningSettings partitioning_settings = 15;
     */
    partitioningSettings?: PartitioningSettings;
    /**
     * Bloom filter by key
     *
     * @generated from field: Ydb.FeatureFlag.Status key_bloom_filter = 16;
     */
    keyBloomFilter: FeatureFlag_Status;
    /**
     * Read replicas settings for table
     *
     * @generated from field: Ydb.Table.ReadReplicasSettings read_replicas_settings = 17;
     */
    readReplicasSettings?: ReadReplicasSettings;
    /**
     * Tiering rules name. It specifies how data migrates from one tier (logical storage) to another.
     *
     * @generated from field: string tiering = 18;
     */
    tiering: string;
    /**
     * Is temporary table
     *
     * @generated from field: bool temporary = 19;
     */
    temporary: boolean;
    /**
     * Is table column or row oriented
     *
     * @generated from field: Ydb.Table.StoreType store_type = 20;
     */
    storeType: StoreType;
};
/**
 * Describes the message Ydb.Table.CreateTableRequest.
 * Use `create(CreateTableRequestSchema)` to create a new message.
 */
export declare const CreateTableRequestSchema: GenMessage<CreateTableRequest>;
/**
 * @generated from message Ydb.Table.CreateTableResponse
 */
export type CreateTableResponse = Message<"Ydb.Table.CreateTableResponse"> & {
    /**
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Table.CreateTableResponse.
 * Use `create(CreateTableResponseSchema)` to create a new message.
 */
export declare const CreateTableResponseSchema: GenMessage<CreateTableResponse>;
/**
 * Drop table with given path
 *
 * @generated from message Ydb.Table.DropTableRequest
 */
export type DropTableRequest = Message<"Ydb.Table.DropTableRequest"> & {
    /**
     * Session identifier
     *
     * @generated from field: string session_id = 1;
     */
    sessionId: string;
    /**
     * Full path
     *
     * @generated from field: string path = 2;
     */
    path: string;
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 4;
     */
    operationParams?: OperationParams;
};
/**
 * Describes the message Ydb.Table.DropTableRequest.
 * Use `create(DropTableRequestSchema)` to create a new message.
 */
export declare const DropTableRequestSchema: GenMessage<DropTableRequest>;
/**
 * @generated from message Ydb.Table.DropTableResponse
 */
export type DropTableResponse = Message<"Ydb.Table.DropTableResponse"> & {
    /**
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Table.DropTableResponse.
 * Use `create(DropTableResponseSchema)` to create a new message.
 */
export declare const DropTableResponseSchema: GenMessage<DropTableResponse>;
/**
 * @generated from message Ydb.Table.RenameIndexItem
 */
export type RenameIndexItem = Message<"Ydb.Table.RenameIndexItem"> & {
    /**
     * Index name to rename
     *
     * @generated from field: string source_name = 1;
     */
    sourceName: string;
    /**
     * Target index name
     *
     * @generated from field: string destination_name = 2;
     */
    destinationName: string;
    /**
     * Move options
     *
     * @generated from field: bool replace_destination = 3;
     */
    replaceDestination: boolean;
};
/**
 * Describes the message Ydb.Table.RenameIndexItem.
 * Use `create(RenameIndexItemSchema)` to create a new message.
 */
export declare const RenameIndexItemSchema: GenMessage<RenameIndexItem>;
/**
 * Alter table with given path
 *
 * @generated from message Ydb.Table.AlterTableRequest
 */
export type AlterTableRequest = Message<"Ydb.Table.AlterTableRequest"> & {
    /**
     * Session identifier
     *
     * @generated from field: string session_id = 1;
     */
    sessionId: string;
    /**
     * Full path
     *
     * @generated from field: string path = 2;
     */
    path: string;
    /**
     * Columns (name, type) to add
     *
     * @generated from field: repeated Ydb.Table.ColumnMeta add_columns = 3;
     */
    addColumns: ColumnMeta[];
    /**
     * Columns to remove
     *
     * @generated from field: repeated string drop_columns = 4;
     */
    dropColumns: string[];
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 5;
     */
    operationParams?: OperationParams;
    /**
     * Columns to alter
     *
     * @generated from field: repeated Ydb.Table.ColumnMeta alter_columns = 6;
     */
    alterColumns: ColumnMeta[];
    /**
     * Setup or remove time to live settings
     *
     * @generated from oneof Ydb.Table.AlterTableRequest.ttl_action
     */
    ttlAction: {
        /**
         * @generated from field: Ydb.Table.TtlSettings set_ttl_settings = 7;
         */
        value: TtlSettings;
        case: "setTtlSettings";
    } | {
        /**
         * @generated from field: google.protobuf.Empty drop_ttl_settings = 8;
         */
        value: Empty;
        case: "dropTtlSettings";
    } | {
        case: undefined;
        value?: undefined;
    };
    /**
     * Add secondary indexes
     *
     * @generated from field: repeated Ydb.Table.TableIndex add_indexes = 9;
     */
    addIndexes: TableIndex[];
    /**
     * Remove secondary indexes
     *
     * @generated from field: repeated string drop_indexes = 10;
     */
    dropIndexes: string[];
    /**
     * Change table storage settings
     *
     * @generated from field: Ydb.Table.StorageSettings alter_storage_settings = 11;
     */
    alterStorageSettings?: StorageSettings;
    /**
     * Add/alter column families
     *
     * @generated from field: repeated Ydb.Table.ColumnFamily add_column_families = 12;
     */
    addColumnFamilies: ColumnFamily[];
    /**
     * @generated from field: repeated Ydb.Table.ColumnFamily alter_column_families = 13;
     */
    alterColumnFamilies: ColumnFamily[];
    /**
     * Alter attributes. Leave the value blank to drop an attribute.
     * Cannot be used in combination with other fields (except session_id and path) at the moment.
     *
     * @generated from field: map<string, string> alter_attributes = 14;
     */
    alterAttributes: {
        [key: string]: string;
    };
    /**
     * Set predefined named set of settings for table compaction ["default", "small_table", "log_table"].
     * Set "default" to use default preset.
     *
     * @generated from field: string set_compaction_policy = 15;
     */
    setCompactionPolicy: string;
    /**
     * Change table partitioning settings
     *
     * @generated from field: Ydb.Table.PartitioningSettings alter_partitioning_settings = 16;
     */
    alterPartitioningSettings?: PartitioningSettings;
    /**
     * Enable/disable bloom filter by key
     *
     * @generated from field: Ydb.FeatureFlag.Status set_key_bloom_filter = 17;
     */
    setKeyBloomFilter: FeatureFlag_Status;
    /**
     * Set read replicas settings for table
     *
     * @generated from field: Ydb.Table.ReadReplicasSettings set_read_replicas_settings = 18;
     */
    setReadReplicasSettings?: ReadReplicasSettings;
    /**
     * Add change feeds
     *
     * @generated from field: repeated Ydb.Table.Changefeed add_changefeeds = 19;
     */
    addChangefeeds: Changefeed[];
    /**
     * Remove change feeds (by its names)
     *
     * @generated from field: repeated string drop_changefeeds = 20;
     */
    dropChangefeeds: string[];
    /**
     * Rename existed index
     *
     * @generated from field: repeated Ydb.Table.RenameIndexItem rename_indexes = 21;
     */
    renameIndexes: RenameIndexItem[];
    /**
     * Setup or remove tiering
     *
     * @generated from oneof Ydb.Table.AlterTableRequest.tiering_action
     */
    tieringAction: {
        /**
         * @generated from field: string set_tiering = 22;
         */
        value: string;
        case: "setTiering";
    } | {
        /**
         * @generated from field: google.protobuf.Empty drop_tiering = 23;
         */
        value: Empty;
        case: "dropTiering";
    } | {
        case: undefined;
        value?: undefined;
    };
};
/**
 * Describes the message Ydb.Table.AlterTableRequest.
 * Use `create(AlterTableRequestSchema)` to create a new message.
 */
export declare const AlterTableRequestSchema: GenMessage<AlterTableRequest>;
/**
 * @generated from message Ydb.Table.AlterTableResponse
 */
export type AlterTableResponse = Message<"Ydb.Table.AlterTableResponse"> & {
    /**
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Table.AlterTableResponse.
 * Use `create(AlterTableResponseSchema)` to create a new message.
 */
export declare const AlterTableResponseSchema: GenMessage<AlterTableResponse>;
/**
 * Copy table with given path
 *
 * @generated from message Ydb.Table.CopyTableRequest
 */
export type CopyTableRequest = Message<"Ydb.Table.CopyTableRequest"> & {
    /**
     * Session identifier
     *
     * @generated from field: string session_id = 1;
     */
    sessionId: string;
    /**
     * Copy from path
     *
     * @generated from field: string source_path = 2;
     */
    sourcePath: string;
    /**
     * Copy to path
     *
     * @generated from field: string destination_path = 3;
     */
    destinationPath: string;
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 4;
     */
    operationParams?: OperationParams;
};
/**
 * Describes the message Ydb.Table.CopyTableRequest.
 * Use `create(CopyTableRequestSchema)` to create a new message.
 */
export declare const CopyTableRequestSchema: GenMessage<CopyTableRequest>;
/**
 * @generated from message Ydb.Table.CopyTableResponse
 */
export type CopyTableResponse = Message<"Ydb.Table.CopyTableResponse"> & {
    /**
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Table.CopyTableResponse.
 * Use `create(CopyTableResponseSchema)` to create a new message.
 */
export declare const CopyTableResponseSchema: GenMessage<CopyTableResponse>;
/**
 * @generated from message Ydb.Table.CopyTableItem
 */
export type CopyTableItem = Message<"Ydb.Table.CopyTableItem"> & {
    /**
     * Copy from path
     *
     * @generated from field: string source_path = 1;
     */
    sourcePath: string;
    /**
     * Copy to path
     *
     * @generated from field: string destination_path = 2;
     */
    destinationPath: string;
    /**
     * Copy options
     *
     * @generated from field: bool omit_indexes = 3;
     */
    omitIndexes: boolean;
};
/**
 * Describes the message Ydb.Table.CopyTableItem.
 * Use `create(CopyTableItemSchema)` to create a new message.
 */
export declare const CopyTableItemSchema: GenMessage<CopyTableItem>;
/**
 * Creates consistent copy of given tables.
 *
 * @generated from message Ydb.Table.CopyTablesRequest
 */
export type CopyTablesRequest = Message<"Ydb.Table.CopyTablesRequest"> & {
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 1;
     */
    operationParams?: OperationParams;
    /**
     * Session identifier
     *
     * @generated from field: string session_id = 2;
     */
    sessionId: string;
    /**
     * Source and destination paths which describe copies
     *
     * @generated from field: repeated Ydb.Table.CopyTableItem tables = 3;
     */
    tables: CopyTableItem[];
};
/**
 * Describes the message Ydb.Table.CopyTablesRequest.
 * Use `create(CopyTablesRequestSchema)` to create a new message.
 */
export declare const CopyTablesRequestSchema: GenMessage<CopyTablesRequest>;
/**
 * @generated from message Ydb.Table.CopyTablesResponse
 */
export type CopyTablesResponse = Message<"Ydb.Table.CopyTablesResponse"> & {
    /**
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Table.CopyTablesResponse.
 * Use `create(CopyTablesResponseSchema)` to create a new message.
 */
export declare const CopyTablesResponseSchema: GenMessage<CopyTablesResponse>;
/**
 * @generated from message Ydb.Table.RenameTableItem
 */
export type RenameTableItem = Message<"Ydb.Table.RenameTableItem"> & {
    /**
     * Full path
     *
     * @generated from field: string source_path = 1;
     */
    sourcePath: string;
    /**
     * Full path
     *
     * @generated from field: string destination_path = 2;
     */
    destinationPath: string;
    /**
     * Move options
     *
     * @generated from field: bool replace_destination = 3;
     */
    replaceDestination: boolean;
};
/**
 * Describes the message Ydb.Table.RenameTableItem.
 * Use `create(RenameTableItemSchema)` to create a new message.
 */
export declare const RenameTableItemSchema: GenMessage<RenameTableItem>;
/**
 * Moves given tables
 *
 * @generated from message Ydb.Table.RenameTablesRequest
 */
export type RenameTablesRequest = Message<"Ydb.Table.RenameTablesRequest"> & {
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 1;
     */
    operationParams?: OperationParams;
    /**
     * Session identifier
     *
     * @generated from field: string session_id = 2;
     */
    sessionId: string;
    /**
     * Source and destination paths inside RenameTableItem describe rename actions
     *
     * @generated from field: repeated Ydb.Table.RenameTableItem tables = 3;
     */
    tables: RenameTableItem[];
};
/**
 * Describes the message Ydb.Table.RenameTablesRequest.
 * Use `create(RenameTablesRequestSchema)` to create a new message.
 */
export declare const RenameTablesRequestSchema: GenMessage<RenameTablesRequest>;
/**
 * @generated from message Ydb.Table.RenameTablesResponse
 */
export type RenameTablesResponse = Message<"Ydb.Table.RenameTablesResponse"> & {
    /**
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Table.RenameTablesResponse.
 * Use `create(RenameTablesResponseSchema)` to create a new message.
 */
export declare const RenameTablesResponseSchema: GenMessage<RenameTablesResponse>;
/**
 * Describe table with given path
 *
 * @generated from message Ydb.Table.DescribeTableRequest
 */
export type DescribeTableRequest = Message<"Ydb.Table.DescribeTableRequest"> & {
    /**
     * Session identifier
     *
     * @generated from field: string session_id = 1;
     */
    sessionId: string;
    /**
     * Full path
     *
     * @generated from field: string path = 2;
     */
    path: string;
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 4;
     */
    operationParams?: OperationParams;
    /**
     * Includes shard key distribution info
     *
     * @generated from field: bool include_shard_key_bounds = 5;
     */
    includeShardKeyBounds: boolean;
    /**
     * Includes table statistics
     *
     * @generated from field: bool include_table_stats = 6;
     */
    includeTableStats: boolean;
    /**
     * Includes partition statistics (required include_table_statistics)
     *
     * @generated from field: bool include_partition_stats = 7;
     */
    includePartitionStats: boolean;
    /**
     * Includes shard -> node id maping (required include_partition_stats)
     *
     * @generated from field: bool include_shard_nodes_info = 9;
     */
    includeShardNodesInfo: boolean;
};
/**
 * Describes the message Ydb.Table.DescribeTableRequest.
 * Use `create(DescribeTableRequestSchema)` to create a new message.
 */
export declare const DescribeTableRequestSchema: GenMessage<DescribeTableRequest>;
/**
 * @generated from message Ydb.Table.DescribeTableResponse
 */
export type DescribeTableResponse = Message<"Ydb.Table.DescribeTableResponse"> & {
    /**
     * Holds DescribeTableResult in case of successful call
     *
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Table.DescribeTableResponse.
 * Use `create(DescribeTableResponseSchema)` to create a new message.
 */
export declare const DescribeTableResponseSchema: GenMessage<DescribeTableResponse>;
/**
 * @generated from message Ydb.Table.DescribeTableResult
 */
export type DescribeTableResult = Message<"Ydb.Table.DescribeTableResult"> & {
    /**
     * Description of scheme object
     *
     * @generated from field: Ydb.Scheme.Entry self = 1;
     */
    self?: Entry;
    /**
     * List of columns
     *
     * @generated from field: repeated Ydb.Table.ColumnMeta columns = 2;
     */
    columns: ColumnMeta[];
    /**
     * List of primary key columns
     *
     * @generated from field: repeated string primary_key = 3;
     */
    primaryKey: string[];
    /**
     * List of key ranges for shard
     *
     * @generated from field: repeated Ydb.TypedValue shard_key_bounds = 4;
     */
    shardKeyBounds: TypedValue[];
    /**
     * List of indexes
     *
     * @generated from field: repeated Ydb.Table.TableIndexDescription indexes = 5;
     */
    indexes: TableIndexDescription[];
    /**
     * Statistics of table
     *
     * @generated from field: Ydb.Table.TableStats table_stats = 6;
     */
    tableStats?: TableStats;
    /**
     * TTL params
     *
     * @generated from field: Ydb.Table.TtlSettings ttl_settings = 7;
     */
    ttlSettings?: TtlSettings;
    /**
     * Storage settings for table
     *
     * @generated from field: Ydb.Table.StorageSettings storage_settings = 8;
     */
    storageSettings?: StorageSettings;
    /**
     * Column families
     *
     * @generated from field: repeated Ydb.Table.ColumnFamily column_families = 9;
     */
    columnFamilies: ColumnFamily[];
    /**
     * Attributes
     *
     * @generated from field: map<string, string> attributes = 10;
     */
    attributes: {
        [key: string]: string;
    };
    /**
     * Partitioning settings for table
     *
     * @generated from field: Ydb.Table.PartitioningSettings partitioning_settings = 12;
     */
    partitioningSettings?: PartitioningSettings;
    /**
     * Bloom filter by key
     *
     * @generated from field: Ydb.FeatureFlag.Status key_bloom_filter = 13;
     */
    keyBloomFilter: FeatureFlag_Status;
    /**
     * Read replicas settings for table
     *
     * @generated from field: Ydb.Table.ReadReplicasSettings read_replicas_settings = 14;
     */
    readReplicasSettings?: ReadReplicasSettings;
    /**
     * List of changefeeds
     *
     * @generated from field: repeated Ydb.Table.ChangefeedDescription changefeeds = 15;
     */
    changefeeds: ChangefeedDescription[];
    /**
     * Tiering rules name
     *
     * @generated from field: string tiering = 16;
     */
    tiering: string;
    /**
     * Is temporary table
     *
     * @generated from field: bool temporary = 17;
     */
    temporary: boolean;
    /**
     * Is table column or row oriented
     *
     * @generated from field: Ydb.Table.StoreType store_type = 18;
     */
    storeType: StoreType;
};
/**
 * Describes the message Ydb.Table.DescribeTableResult.
 * Use `create(DescribeTableResultSchema)` to create a new message.
 */
export declare const DescribeTableResultSchema: GenMessage<DescribeTableResult>;
/**
 * @generated from message Ydb.Table.Query
 */
export type Query = Message<"Ydb.Table.Query"> & {
    /**
     * Text of query or id prepared query
     *
     * @generated from oneof Ydb.Table.Query.query
     */
    query: {
        /**
         * SQL program
         *
         * @generated from field: string yql_text = 1;
         */
        value: string;
        case: "yqlText";
    } | {
        /**
         * Prepared query id
         *
         * @generated from field: string id = 2;
         */
        value: string;
        case: "id";
    } | {
        case: undefined;
        value?: undefined;
    };
};
/**
 * Describes the message Ydb.Table.Query.
 * Use `create(QuerySchema)` to create a new message.
 */
export declare const QuerySchema: GenMessage<Query>;
/**
 * @generated from message Ydb.Table.SerializableModeSettings
 */
export type SerializableModeSettings = Message<"Ydb.Table.SerializableModeSettings"> & {};
/**
 * Describes the message Ydb.Table.SerializableModeSettings.
 * Use `create(SerializableModeSettingsSchema)` to create a new message.
 */
export declare const SerializableModeSettingsSchema: GenMessage<SerializableModeSettings>;
/**
 * @generated from message Ydb.Table.OnlineModeSettings
 */
export type OnlineModeSettings = Message<"Ydb.Table.OnlineModeSettings"> & {
    /**
     * @generated from field: bool allow_inconsistent_reads = 1;
     */
    allowInconsistentReads: boolean;
};
/**
 * Describes the message Ydb.Table.OnlineModeSettings.
 * Use `create(OnlineModeSettingsSchema)` to create a new message.
 */
export declare const OnlineModeSettingsSchema: GenMessage<OnlineModeSettings>;
/**
 * @generated from message Ydb.Table.StaleModeSettings
 */
export type StaleModeSettings = Message<"Ydb.Table.StaleModeSettings"> & {};
/**
 * Describes the message Ydb.Table.StaleModeSettings.
 * Use `create(StaleModeSettingsSchema)` to create a new message.
 */
export declare const StaleModeSettingsSchema: GenMessage<StaleModeSettings>;
/**
 * @generated from message Ydb.Table.SnapshotModeSettings
 */
export type SnapshotModeSettings = Message<"Ydb.Table.SnapshotModeSettings"> & {};
/**
 * Describes the message Ydb.Table.SnapshotModeSettings.
 * Use `create(SnapshotModeSettingsSchema)` to create a new message.
 */
export declare const SnapshotModeSettingsSchema: GenMessage<SnapshotModeSettings>;
/**
 * @generated from message Ydb.Table.TransactionSettings
 */
export type TransactionSettings = Message<"Ydb.Table.TransactionSettings"> & {
    /**
     * @generated from oneof Ydb.Table.TransactionSettings.tx_mode
     */
    txMode: {
        /**
         * @generated from field: Ydb.Table.SerializableModeSettings serializable_read_write = 1;
         */
        value: SerializableModeSettings;
        case: "serializableReadWrite";
    } | {
        /**
         * @generated from field: Ydb.Table.OnlineModeSettings online_read_only = 2;
         */
        value: OnlineModeSettings;
        case: "onlineReadOnly";
    } | {
        /**
         * @generated from field: Ydb.Table.StaleModeSettings stale_read_only = 3;
         */
        value: StaleModeSettings;
        case: "staleReadOnly";
    } | {
        /**
         * @generated from field: Ydb.Table.SnapshotModeSettings snapshot_read_only = 4;
         */
        value: SnapshotModeSettings;
        case: "snapshotReadOnly";
    } | {
        case: undefined;
        value?: undefined;
    };
};
/**
 * Describes the message Ydb.Table.TransactionSettings.
 * Use `create(TransactionSettingsSchema)` to create a new message.
 */
export declare const TransactionSettingsSchema: GenMessage<TransactionSettings>;
/**
 * @generated from message Ydb.Table.TransactionControl
 */
export type TransactionControl = Message<"Ydb.Table.TransactionControl"> & {
    /**
     * @generated from oneof Ydb.Table.TransactionControl.tx_selector
     */
    txSelector: {
        /**
         * @generated from field: string tx_id = 1;
         */
        value: string;
        case: "txId";
    } | {
        /**
         * @generated from field: Ydb.Table.TransactionSettings begin_tx = 2;
         */
        value: TransactionSettings;
        case: "beginTx";
    } | {
        case: undefined;
        value?: undefined;
    };
    /**
     * @generated from field: bool commit_tx = 10;
     */
    commitTx: boolean;
};
/**
 * Describes the message Ydb.Table.TransactionControl.
 * Use `create(TransactionControlSchema)` to create a new message.
 */
export declare const TransactionControlSchema: GenMessage<TransactionControl>;
/**
 * @generated from message Ydb.Table.QueryCachePolicy
 */
export type QueryCachePolicy = Message<"Ydb.Table.QueryCachePolicy"> & {
    /**
     * @generated from field: bool keep_in_cache = 1;
     */
    keepInCache: boolean;
};
/**
 * Describes the message Ydb.Table.QueryCachePolicy.
 * Use `create(QueryCachePolicySchema)` to create a new message.
 */
export declare const QueryCachePolicySchema: GenMessage<QueryCachePolicy>;
/**
 * Collect and return query execution stats
 *
 * @generated from message Ydb.Table.QueryStatsCollection
 */
export type QueryStatsCollection = Message<"Ydb.Table.QueryStatsCollection"> & {};
/**
 * Describes the message Ydb.Table.QueryStatsCollection.
 * Use `create(QueryStatsCollectionSchema)` to create a new message.
 */
export declare const QueryStatsCollectionSchema: GenMessage<QueryStatsCollection>;
/**
 * @generated from enum Ydb.Table.QueryStatsCollection.Mode
 */
export declare enum QueryStatsCollection_Mode {
    /**
     * @generated from enum value: STATS_COLLECTION_UNSPECIFIED = 0;
     */
    STATS_COLLECTION_UNSPECIFIED = 0,
    /**
     * Stats collection is disabled
     *
     * @generated from enum value: STATS_COLLECTION_NONE = 1;
     */
    STATS_COLLECTION_NONE = 1,
    /**
     * Aggregated stats of reads, updates and deletes per table
     *
     * @generated from enum value: STATS_COLLECTION_BASIC = 2;
     */
    STATS_COLLECTION_BASIC = 2,
    /**
     * Add execution stats and plan on top of STATS_COLLECTION_BASIC
     *
     * @generated from enum value: STATS_COLLECTION_FULL = 3;
     */
    STATS_COLLECTION_FULL = 3,
    /**
     * Detailed execution stats including stats for individual tasks and channels
     *
     * @generated from enum value: STATS_COLLECTION_PROFILE = 4;
     */
    STATS_COLLECTION_PROFILE = 4
}
/**
 * Describes the enum Ydb.Table.QueryStatsCollection.Mode.
 */
export declare const QueryStatsCollection_ModeSchema: GenEnum<QueryStatsCollection_Mode>;
/**
 * @generated from message Ydb.Table.ExecuteDataQueryRequest
 */
export type ExecuteDataQueryRequest = Message<"Ydb.Table.ExecuteDataQueryRequest"> & {
    /**
     * Session identifier
     *
     * @generated from field: string session_id = 1;
     */
    sessionId: string;
    /**
     * @generated from field: Ydb.Table.TransactionControl tx_control = 2;
     */
    txControl?: TransactionControl;
    /**
     * @generated from field: Ydb.Table.Query query = 3;
     */
    query?: Query;
    /**
     * Map of query parameters (optional)
     *
     * @generated from field: map<string, Ydb.TypedValue> parameters = 4;
     */
    parameters: {
        [key: string]: TypedValue;
    };
    /**
     * @generated from field: Ydb.Table.QueryCachePolicy query_cache_policy = 5;
     */
    queryCachePolicy?: QueryCachePolicy;
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 6;
     */
    operationParams?: OperationParams;
    /**
     * @generated from field: Ydb.Table.QueryStatsCollection.Mode collect_stats = 7;
     */
    collectStats: QueryStatsCollection_Mode;
};
/**
 * Describes the message Ydb.Table.ExecuteDataQueryRequest.
 * Use `create(ExecuteDataQueryRequestSchema)` to create a new message.
 */
export declare const ExecuteDataQueryRequestSchema: GenMessage<ExecuteDataQueryRequest>;
/**
 * @generated from message Ydb.Table.ExecuteDataQueryResponse
 */
export type ExecuteDataQueryResponse = Message<"Ydb.Table.ExecuteDataQueryResponse"> & {
    /**
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Table.ExecuteDataQueryResponse.
 * Use `create(ExecuteDataQueryResponseSchema)` to create a new message.
 */
export declare const ExecuteDataQueryResponseSchema: GenMessage<ExecuteDataQueryResponse>;
/**
 * @generated from message Ydb.Table.ExecuteSchemeQueryRequest
 */
export type ExecuteSchemeQueryRequest = Message<"Ydb.Table.ExecuteSchemeQueryRequest"> & {
    /**
     * Session identifier
     *
     * @generated from field: string session_id = 1;
     */
    sessionId: string;
    /**
     * SQL text
     *
     * @generated from field: string yql_text = 2;
     */
    yqlText: string;
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 3;
     */
    operationParams?: OperationParams;
};
/**
 * Describes the message Ydb.Table.ExecuteSchemeQueryRequest.
 * Use `create(ExecuteSchemeQueryRequestSchema)` to create a new message.
 */
export declare const ExecuteSchemeQueryRequestSchema: GenMessage<ExecuteSchemeQueryRequest>;
/**
 * @generated from message Ydb.Table.ExecuteSchemeQueryResponse
 */
export type ExecuteSchemeQueryResponse = Message<"Ydb.Table.ExecuteSchemeQueryResponse"> & {
    /**
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Table.ExecuteSchemeQueryResponse.
 * Use `create(ExecuteSchemeQueryResponseSchema)` to create a new message.
 */
export declare const ExecuteSchemeQueryResponseSchema: GenMessage<ExecuteSchemeQueryResponse>;
/**
 * Holds transaction id
 *
 * @generated from message Ydb.Table.TransactionMeta
 */
export type TransactionMeta = Message<"Ydb.Table.TransactionMeta"> & {
    /**
     * Transaction identifier
     *
     * @generated from field: string id = 1;
     */
    id: string;
};
/**
 * Describes the message Ydb.Table.TransactionMeta.
 * Use `create(TransactionMetaSchema)` to create a new message.
 */
export declare const TransactionMetaSchema: GenMessage<TransactionMeta>;
/**
 * Holds query id and type of parameters
 *
 * @generated from message Ydb.Table.QueryMeta
 */
export type QueryMeta = Message<"Ydb.Table.QueryMeta"> & {
    /**
     * Query identifier
     *
     * @generated from field: string id = 1;
     */
    id: string;
    /**
     * Type of parameters
     *
     * @generated from field: map<string, Ydb.Type> parameters_types = 2;
     */
    parametersTypes: {
        [key: string]: Type;
    };
};
/**
 * Describes the message Ydb.Table.QueryMeta.
 * Use `create(QueryMetaSchema)` to create a new message.
 */
export declare const QueryMetaSchema: GenMessage<QueryMeta>;
/**
 * One QueryResult can contain multiple tables
 *
 * @generated from message Ydb.Table.ExecuteQueryResult
 */
export type ExecuteQueryResult = Message<"Ydb.Table.ExecuteQueryResult"> & {
    /**
     * Result rets (for each table)
     *
     * @generated from field: repeated Ydb.ResultSet result_sets = 1;
     */
    resultSets: ResultSet[];
    /**
     * Transaction metadata
     *
     * @generated from field: Ydb.Table.TransactionMeta tx_meta = 2;
     */
    txMeta?: TransactionMeta;
    /**
     * Query metadata
     *
     * @generated from field: Ydb.Table.QueryMeta query_meta = 3;
     */
    queryMeta?: QueryMeta;
    /**
     * Query execution statistics
     *
     * @generated from field: Ydb.TableStats.QueryStats query_stats = 4;
     */
    queryStats?: QueryStats;
};
/**
 * Describes the message Ydb.Table.ExecuteQueryResult.
 * Use `create(ExecuteQueryResultSchema)` to create a new message.
 */
export declare const ExecuteQueryResultSchema: GenMessage<ExecuteQueryResult>;
/**
 * Explain data query
 *
 * @generated from message Ydb.Table.ExplainDataQueryRequest
 */
export type ExplainDataQueryRequest = Message<"Ydb.Table.ExplainDataQueryRequest"> & {
    /**
     * Session identifier
     *
     * @generated from field: string session_id = 1;
     */
    sessionId: string;
    /**
     * SQL text to explain
     *
     * @generated from field: string yql_text = 2;
     */
    yqlText: string;
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 3;
     */
    operationParams?: OperationParams;
    /**
     * @generated from field: bool collect_full_diagnostics = 4;
     */
    collectFullDiagnostics: boolean;
};
/**
 * Describes the message Ydb.Table.ExplainDataQueryRequest.
 * Use `create(ExplainDataQueryRequestSchema)` to create a new message.
 */
export declare const ExplainDataQueryRequestSchema: GenMessage<ExplainDataQueryRequest>;
/**
 * @generated from message Ydb.Table.ExplainDataQueryResponse
 */
export type ExplainDataQueryResponse = Message<"Ydb.Table.ExplainDataQueryResponse"> & {
    /**
     * Holds ExplainQueryResult in case of successful call
     *
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Table.ExplainDataQueryResponse.
 * Use `create(ExplainDataQueryResponseSchema)` to create a new message.
 */
export declare const ExplainDataQueryResponseSchema: GenMessage<ExplainDataQueryResponse>;
/**
 * @generated from message Ydb.Table.ExplainQueryResult
 */
export type ExplainQueryResult = Message<"Ydb.Table.ExplainQueryResult"> & {
    /**
     * @generated from field: string query_ast = 1;
     */
    queryAst: string;
    /**
     * @generated from field: string query_plan = 2;
     */
    queryPlan: string;
    /**
     * @generated from field: string query_full_diagnostics = 3;
     */
    queryFullDiagnostics: string;
};
/**
 * Describes the message Ydb.Table.ExplainQueryResult.
 * Use `create(ExplainQueryResultSchema)` to create a new message.
 */
export declare const ExplainQueryResultSchema: GenMessage<ExplainQueryResult>;
/**
 * Prepare given program to execute
 *
 * @generated from message Ydb.Table.PrepareDataQueryRequest
 */
export type PrepareDataQueryRequest = Message<"Ydb.Table.PrepareDataQueryRequest"> & {
    /**
     * Session identifier
     *
     * @generated from field: string session_id = 1;
     */
    sessionId: string;
    /**
     * SQL text
     *
     * @generated from field: string yql_text = 2;
     */
    yqlText: string;
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 3;
     */
    operationParams?: OperationParams;
};
/**
 * Describes the message Ydb.Table.PrepareDataQueryRequest.
 * Use `create(PrepareDataQueryRequestSchema)` to create a new message.
 */
export declare const PrepareDataQueryRequestSchema: GenMessage<PrepareDataQueryRequest>;
/**
 * @generated from message Ydb.Table.PrepareDataQueryResponse
 */
export type PrepareDataQueryResponse = Message<"Ydb.Table.PrepareDataQueryResponse"> & {
    /**
     * Holds PrepareQueryResult in case of successful call
     *
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Table.PrepareDataQueryResponse.
 * Use `create(PrepareDataQueryResponseSchema)` to create a new message.
 */
export declare const PrepareDataQueryResponseSchema: GenMessage<PrepareDataQueryResponse>;
/**
 * @generated from message Ydb.Table.PrepareQueryResult
 */
export type PrepareQueryResult = Message<"Ydb.Table.PrepareQueryResult"> & {
    /**
     * Query id, used to perform ExecuteDataQuery
     *
     * @generated from field: string query_id = 1;
     */
    queryId: string;
    /**
     * Parameters type, used to fill in parameter values
     *
     * @generated from field: map<string, Ydb.Type> parameters_types = 2;
     */
    parametersTypes: {
        [key: string]: Type;
    };
};
/**
 * Describes the message Ydb.Table.PrepareQueryResult.
 * Use `create(PrepareQueryResultSchema)` to create a new message.
 */
export declare const PrepareQueryResultSchema: GenMessage<PrepareQueryResult>;
/**
 * Keep session alive
 *
 * @generated from message Ydb.Table.KeepAliveRequest
 */
export type KeepAliveRequest = Message<"Ydb.Table.KeepAliveRequest"> & {
    /**
     * Session identifier
     *
     * @generated from field: string session_id = 1;
     */
    sessionId: string;
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 2;
     */
    operationParams?: OperationParams;
};
/**
 * Describes the message Ydb.Table.KeepAliveRequest.
 * Use `create(KeepAliveRequestSchema)` to create a new message.
 */
export declare const KeepAliveRequestSchema: GenMessage<KeepAliveRequest>;
/**
 * @generated from message Ydb.Table.KeepAliveResponse
 */
export type KeepAliveResponse = Message<"Ydb.Table.KeepAliveResponse"> & {
    /**
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Table.KeepAliveResponse.
 * Use `create(KeepAliveResponseSchema)` to create a new message.
 */
export declare const KeepAliveResponseSchema: GenMessage<KeepAliveResponse>;
/**
 * @generated from message Ydb.Table.KeepAliveResult
 */
export type KeepAliveResult = Message<"Ydb.Table.KeepAliveResult"> & {
    /**
     * @generated from field: Ydb.Table.KeepAliveResult.SessionStatus session_status = 1;
     */
    sessionStatus: KeepAliveResult_SessionStatus;
};
/**
 * Describes the message Ydb.Table.KeepAliveResult.
 * Use `create(KeepAliveResultSchema)` to create a new message.
 */
export declare const KeepAliveResultSchema: GenMessage<KeepAliveResult>;
/**
 * @generated from enum Ydb.Table.KeepAliveResult.SessionStatus
 */
export declare enum KeepAliveResult_SessionStatus {
    /**
     * @generated from enum value: SESSION_STATUS_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * @generated from enum value: SESSION_STATUS_READY = 1;
     */
    READY = 1,
    /**
     * @generated from enum value: SESSION_STATUS_BUSY = 2;
     */
    BUSY = 2
}
/**
 * Describes the enum Ydb.Table.KeepAliveResult.SessionStatus.
 */
export declare const KeepAliveResult_SessionStatusSchema: GenEnum<KeepAliveResult_SessionStatus>;
/**
 * Begin transaction on given session with given settings
 *
 * @generated from message Ydb.Table.BeginTransactionRequest
 */
export type BeginTransactionRequest = Message<"Ydb.Table.BeginTransactionRequest"> & {
    /**
     * Session identifier
     *
     * @generated from field: string session_id = 1;
     */
    sessionId: string;
    /**
     * @generated from field: Ydb.Table.TransactionSettings tx_settings = 2;
     */
    txSettings?: TransactionSettings;
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 3;
     */
    operationParams?: OperationParams;
};
/**
 * Describes the message Ydb.Table.BeginTransactionRequest.
 * Use `create(BeginTransactionRequestSchema)` to create a new message.
 */
export declare const BeginTransactionRequestSchema: GenMessage<BeginTransactionRequest>;
/**
 * @generated from message Ydb.Table.BeginTransactionResponse
 */
export type BeginTransactionResponse = Message<"Ydb.Table.BeginTransactionResponse"> & {
    /**
     * Holds BeginTransactionResult in case of successful call
     *
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Table.BeginTransactionResponse.
 * Use `create(BeginTransactionResponseSchema)` to create a new message.
 */
export declare const BeginTransactionResponseSchema: GenMessage<BeginTransactionResponse>;
/**
 * @generated from message Ydb.Table.BeginTransactionResult
 */
export type BeginTransactionResult = Message<"Ydb.Table.BeginTransactionResult"> & {
    /**
     * @generated from field: Ydb.Table.TransactionMeta tx_meta = 1;
     */
    txMeta?: TransactionMeta;
};
/**
 * Describes the message Ydb.Table.BeginTransactionResult.
 * Use `create(BeginTransactionResultSchema)` to create a new message.
 */
export declare const BeginTransactionResultSchema: GenMessage<BeginTransactionResult>;
/**
 * Commit transaction with given session and tx id
 *
 * @generated from message Ydb.Table.CommitTransactionRequest
 */
export type CommitTransactionRequest = Message<"Ydb.Table.CommitTransactionRequest"> & {
    /**
     * Session identifier
     *
     * @generated from field: string session_id = 1;
     */
    sessionId: string;
    /**
     * Transaction identifier
     *
     * @generated from field: string tx_id = 2;
     */
    txId: string;
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 3;
     */
    operationParams?: OperationParams;
    /**
     * @generated from field: Ydb.Table.QueryStatsCollection.Mode collect_stats = 4;
     */
    collectStats: QueryStatsCollection_Mode;
};
/**
 * Describes the message Ydb.Table.CommitTransactionRequest.
 * Use `create(CommitTransactionRequestSchema)` to create a new message.
 */
export declare const CommitTransactionRequestSchema: GenMessage<CommitTransactionRequest>;
/**
 * @generated from message Ydb.Table.CommitTransactionResponse
 */
export type CommitTransactionResponse = Message<"Ydb.Table.CommitTransactionResponse"> & {
    /**
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Table.CommitTransactionResponse.
 * Use `create(CommitTransactionResponseSchema)` to create a new message.
 */
export declare const CommitTransactionResponseSchema: GenMessage<CommitTransactionResponse>;
/**
 * @generated from message Ydb.Table.CommitTransactionResult
 */
export type CommitTransactionResult = Message<"Ydb.Table.CommitTransactionResult"> & {
    /**
     * @generated from field: Ydb.TableStats.QueryStats query_stats = 1;
     */
    queryStats?: QueryStats;
};
/**
 * Describes the message Ydb.Table.CommitTransactionResult.
 * Use `create(CommitTransactionResultSchema)` to create a new message.
 */
export declare const CommitTransactionResultSchema: GenMessage<CommitTransactionResult>;
/**
 * Rollback transaction with given session and tx id
 *
 * @generated from message Ydb.Table.RollbackTransactionRequest
 */
export type RollbackTransactionRequest = Message<"Ydb.Table.RollbackTransactionRequest"> & {
    /**
     * Session identifier
     *
     * @generated from field: string session_id = 1;
     */
    sessionId: string;
    /**
     * Transaction identifier
     *
     * @generated from field: string tx_id = 2;
     */
    txId: string;
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 3;
     */
    operationParams?: OperationParams;
};
/**
 * Describes the message Ydb.Table.RollbackTransactionRequest.
 * Use `create(RollbackTransactionRequestSchema)` to create a new message.
 */
export declare const RollbackTransactionRequestSchema: GenMessage<RollbackTransactionRequest>;
/**
 * @generated from message Ydb.Table.RollbackTransactionResponse
 */
export type RollbackTransactionResponse = Message<"Ydb.Table.RollbackTransactionResponse"> & {
    /**
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Table.RollbackTransactionResponse.
 * Use `create(RollbackTransactionResponseSchema)` to create a new message.
 */
export declare const RollbackTransactionResponseSchema: GenMessage<RollbackTransactionResponse>;
/**
 * @generated from message Ydb.Table.StoragePolicyDescription
 */
export type StoragePolicyDescription = Message<"Ydb.Table.StoragePolicyDescription"> & {
    /**
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * @generated from field: map<string, string> labels = 2;
     */
    labels: {
        [key: string]: string;
    };
};
/**
 * Describes the message Ydb.Table.StoragePolicyDescription.
 * Use `create(StoragePolicyDescriptionSchema)` to create a new message.
 */
export declare const StoragePolicyDescriptionSchema: GenMessage<StoragePolicyDescription>;
/**
 * @generated from message Ydb.Table.CompactionPolicyDescription
 */
export type CompactionPolicyDescription = Message<"Ydb.Table.CompactionPolicyDescription"> & {
    /**
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * @generated from field: map<string, string> labels = 2;
     */
    labels: {
        [key: string]: string;
    };
};
/**
 * Describes the message Ydb.Table.CompactionPolicyDescription.
 * Use `create(CompactionPolicyDescriptionSchema)` to create a new message.
 */
export declare const CompactionPolicyDescriptionSchema: GenMessage<CompactionPolicyDescription>;
/**
 * @generated from message Ydb.Table.PartitioningPolicyDescription
 */
export type PartitioningPolicyDescription = Message<"Ydb.Table.PartitioningPolicyDescription"> & {
    /**
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * @generated from field: map<string, string> labels = 2;
     */
    labels: {
        [key: string]: string;
    };
};
/**
 * Describes the message Ydb.Table.PartitioningPolicyDescription.
 * Use `create(PartitioningPolicyDescriptionSchema)` to create a new message.
 */
export declare const PartitioningPolicyDescriptionSchema: GenMessage<PartitioningPolicyDescription>;
/**
 * @generated from message Ydb.Table.ExecutionPolicyDescription
 */
export type ExecutionPolicyDescription = Message<"Ydb.Table.ExecutionPolicyDescription"> & {
    /**
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * @generated from field: map<string, string> labels = 2;
     */
    labels: {
        [key: string]: string;
    };
};
/**
 * Describes the message Ydb.Table.ExecutionPolicyDescription.
 * Use `create(ExecutionPolicyDescriptionSchema)` to create a new message.
 */
export declare const ExecutionPolicyDescriptionSchema: GenMessage<ExecutionPolicyDescription>;
/**
 * @generated from message Ydb.Table.ReplicationPolicyDescription
 */
export type ReplicationPolicyDescription = Message<"Ydb.Table.ReplicationPolicyDescription"> & {
    /**
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * @generated from field: map<string, string> labels = 2;
     */
    labels: {
        [key: string]: string;
    };
};
/**
 * Describes the message Ydb.Table.ReplicationPolicyDescription.
 * Use `create(ReplicationPolicyDescriptionSchema)` to create a new message.
 */
export declare const ReplicationPolicyDescriptionSchema: GenMessage<ReplicationPolicyDescription>;
/**
 * @generated from message Ydb.Table.CachingPolicyDescription
 */
export type CachingPolicyDescription = Message<"Ydb.Table.CachingPolicyDescription"> & {
    /**
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * @generated from field: map<string, string> labels = 2;
     */
    labels: {
        [key: string]: string;
    };
};
/**
 * Describes the message Ydb.Table.CachingPolicyDescription.
 * Use `create(CachingPolicyDescriptionSchema)` to create a new message.
 */
export declare const CachingPolicyDescriptionSchema: GenMessage<CachingPolicyDescription>;
/**
 * @generated from message Ydb.Table.TableProfileDescription
 */
export type TableProfileDescription = Message<"Ydb.Table.TableProfileDescription"> & {
    /**
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * @generated from field: map<string, string> labels = 2;
     */
    labels: {
        [key: string]: string;
    };
    /**
     * @generated from field: string default_storage_policy = 3;
     */
    defaultStoragePolicy: string;
    /**
     * @generated from field: repeated string allowed_storage_policies = 4;
     */
    allowedStoragePolicies: string[];
    /**
     * @generated from field: string default_compaction_policy = 5;
     */
    defaultCompactionPolicy: string;
    /**
     * @generated from field: repeated string allowed_compaction_policies = 6;
     */
    allowedCompactionPolicies: string[];
    /**
     * @generated from field: string default_partitioning_policy = 7;
     */
    defaultPartitioningPolicy: string;
    /**
     * @generated from field: repeated string allowed_partitioning_policies = 8;
     */
    allowedPartitioningPolicies: string[];
    /**
     * @generated from field: string default_execution_policy = 9;
     */
    defaultExecutionPolicy: string;
    /**
     * @generated from field: repeated string allowed_execution_policies = 10;
     */
    allowedExecutionPolicies: string[];
    /**
     * @generated from field: string default_replication_policy = 11;
     */
    defaultReplicationPolicy: string;
    /**
     * @generated from field: repeated string allowed_replication_policies = 12;
     */
    allowedReplicationPolicies: string[];
    /**
     * @generated from field: string default_caching_policy = 13;
     */
    defaultCachingPolicy: string;
    /**
     * @generated from field: repeated string allowed_caching_policies = 14;
     */
    allowedCachingPolicies: string[];
};
/**
 * Describes the message Ydb.Table.TableProfileDescription.
 * Use `create(TableProfileDescriptionSchema)` to create a new message.
 */
export declare const TableProfileDescriptionSchema: GenMessage<TableProfileDescription>;
/**
 * @generated from message Ydb.Table.DescribeTableOptionsRequest
 */
export type DescribeTableOptionsRequest = Message<"Ydb.Table.DescribeTableOptionsRequest"> & {
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 1;
     */
    operationParams?: OperationParams;
};
/**
 * Describes the message Ydb.Table.DescribeTableOptionsRequest.
 * Use `create(DescribeTableOptionsRequestSchema)` to create a new message.
 */
export declare const DescribeTableOptionsRequestSchema: GenMessage<DescribeTableOptionsRequest>;
/**
 * @generated from message Ydb.Table.DescribeTableOptionsResponse
 */
export type DescribeTableOptionsResponse = Message<"Ydb.Table.DescribeTableOptionsResponse"> & {
    /**
     * operation.result holds ListTableParametersResult
     *
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Table.DescribeTableOptionsResponse.
 * Use `create(DescribeTableOptionsResponseSchema)` to create a new message.
 */
export declare const DescribeTableOptionsResponseSchema: GenMessage<DescribeTableOptionsResponse>;
/**
 * @generated from message Ydb.Table.DescribeTableOptionsResult
 */
export type DescribeTableOptionsResult = Message<"Ydb.Table.DescribeTableOptionsResult"> & {
    /**
     * @generated from field: repeated Ydb.Table.TableProfileDescription table_profile_presets = 1;
     */
    tableProfilePresets: TableProfileDescription[];
    /**
     * @generated from field: repeated Ydb.Table.StoragePolicyDescription storage_policy_presets = 2;
     */
    storagePolicyPresets: StoragePolicyDescription[];
    /**
     * @generated from field: repeated Ydb.Table.CompactionPolicyDescription compaction_policy_presets = 3;
     */
    compactionPolicyPresets: CompactionPolicyDescription[];
    /**
     * @generated from field: repeated Ydb.Table.PartitioningPolicyDescription partitioning_policy_presets = 4;
     */
    partitioningPolicyPresets: PartitioningPolicyDescription[];
    /**
     * @generated from field: repeated Ydb.Table.ExecutionPolicyDescription execution_policy_presets = 5;
     */
    executionPolicyPresets: ExecutionPolicyDescription[];
    /**
     * @generated from field: repeated Ydb.Table.ReplicationPolicyDescription replication_policy_presets = 6;
     */
    replicationPolicyPresets: ReplicationPolicyDescription[];
    /**
     * @generated from field: repeated Ydb.Table.CachingPolicyDescription caching_policy_presets = 7;
     */
    cachingPolicyPresets: CachingPolicyDescription[];
};
/**
 * Describes the message Ydb.Table.DescribeTableOptionsResult.
 * Use `create(DescribeTableOptionsResultSchema)` to create a new message.
 */
export declare const DescribeTableOptionsResultSchema: GenMessage<DescribeTableOptionsResult>;
/**
 * @generated from message Ydb.Table.KeyRange
 */
export type KeyRange = Message<"Ydb.Table.KeyRange"> & {
    /**
     * Left border
     *
     * @generated from oneof Ydb.Table.KeyRange.from_bound
     */
    fromBound: {
        /**
         * Specify if we don't want to include given key
         *
         * @generated from field: Ydb.TypedValue greater = 1;
         */
        value: TypedValue;
        case: "greater";
    } | {
        /**
         * Specify if we want to include given key
         *
         * @generated from field: Ydb.TypedValue greater_or_equal = 2;
         */
        value: TypedValue;
        case: "greaterOrEqual";
    } | {
        case: undefined;
        value?: undefined;
    };
    /**
     * Right border
     *
     * @generated from oneof Ydb.Table.KeyRange.to_bound
     */
    toBound: {
        /**
         * Specify if we don't want to include given key
         *
         * @generated from field: Ydb.TypedValue less = 3;
         */
        value: TypedValue;
        case: "less";
    } | {
        /**
         * Specify if we want to include given key
         *
         * @generated from field: Ydb.TypedValue less_or_equal = 4;
         */
        value: TypedValue;
        case: "lessOrEqual";
    } | {
        case: undefined;
        value?: undefined;
    };
};
/**
 * Describes the message Ydb.Table.KeyRange.
 * Use `create(KeyRangeSchema)` to create a new message.
 */
export declare const KeyRangeSchema: GenMessage<KeyRange>;
/**
 * Request to read table (without SQL)
 *
 * @generated from message Ydb.Table.ReadTableRequest
 */
export type ReadTableRequest = Message<"Ydb.Table.ReadTableRequest"> & {
    /**
     * Session identifier
     *
     * @generated from field: string session_id = 1;
     */
    sessionId: string;
    /**
     * Path to table to read
     *
     * @generated from field: string path = 2;
     */
    path: string;
    /**
     * Primary key range to read
     *
     * @generated from field: Ydb.Table.KeyRange key_range = 3;
     */
    keyRange?: KeyRange;
    /**
     * Output columns
     *
     * @generated from field: repeated string columns = 4;
     */
    columns: string[];
    /**
     * Require ordered reading
     *
     * @generated from field: bool ordered = 5;
     */
    ordered: boolean;
    /**
     * Limits row count to read
     *
     * @generated from field: uint64 row_limit = 6;
     */
    rowLimit: bigint;
    /**
     * Use a server-side snapshot
     *
     * @generated from field: Ydb.FeatureFlag.Status use_snapshot = 7;
     */
    useSnapshot: FeatureFlag_Status;
    /**
     * Server-side best-effort policy. Can be used as a hint to limit the size
     * of batches sent from a server. If both are specified, the server chooses
     * the smaller one. The limits are not strict, so batch size can be slightly
     * greater than any of the limits
     *
     * @generated from field: uint64 batch_limit_bytes = 8;
     */
    batchLimitBytes: bigint;
    /**
     * @generated from field: uint64 batch_limit_rows = 9;
     */
    batchLimitRows: bigint;
    /**
     * @generated from field: Ydb.FeatureFlag.Status return_not_null_data_as_optional = 10;
     */
    returnNotNullDataAsOptional: FeatureFlag_Status;
};
/**
 * Describes the message Ydb.Table.ReadTableRequest.
 * Use `create(ReadTableRequestSchema)` to create a new message.
 */
export declare const ReadTableRequestSchema: GenMessage<ReadTableRequest>;
/**
 * ReadTable doesn't use Operation, returns result directly
 *
 * @generated from message Ydb.Table.ReadTableResponse
 */
export type ReadTableResponse = Message<"Ydb.Table.ReadTableResponse"> & {
    /**
     * Status of request (same as other statuses)
     *
     * @generated from field: Ydb.StatusIds.StatusCode status = 1;
     */
    status: StatusIds_StatusCode;
    /**
     * Issues
     *
     * @generated from field: repeated Ydb.Issue.IssueMessage issues = 2;
     */
    issues: IssueMessage[];
    /**
     * Optional snapshot that corresponds to the returned data
     *
     * @generated from field: Ydb.VirtualTimestamp snapshot = 4;
     */
    snapshot?: VirtualTimestamp;
    /**
     * Read table result
     *
     * @generated from field: Ydb.Table.ReadTableResult result = 3;
     */
    result?: ReadTableResult;
};
/**
 * Describes the message Ydb.Table.ReadTableResponse.
 * Use `create(ReadTableResponseSchema)` to create a new message.
 */
export declare const ReadTableResponseSchema: GenMessage<ReadTableResponse>;
/**
 * Result of read table request
 *
 * @generated from message Ydb.Table.ReadTableResult
 */
export type ReadTableResult = Message<"Ydb.Table.ReadTableResult"> & {
    /**
     * Result set (same as result of sql request)
     *
     * @generated from field: Ydb.ResultSet result_set = 1;
     */
    resultSet?: ResultSet;
};
/**
 * Describes the message Ydb.Table.ReadTableResult.
 * Use `create(ReadTableResultSchema)` to create a new message.
 */
export declare const ReadTableResultSchema: GenMessage<ReadTableResult>;
/**
 * @generated from message Ydb.Table.ReadRowsRequest
 */
export type ReadRowsRequest = Message<"Ydb.Table.ReadRowsRequest"> & {
    /**
     * Session identifier
     *
     * @generated from field: string session_id = 1;
     */
    sessionId: string;
    /**
     * Path to table to read
     *
     * @generated from field: string path = 2;
     */
    path: string;
    /**
     * Keys to read. Must be a list of structs where each stuct is a key
     * for one requested row and should contain all key columns
     *
     * @generated from field: Ydb.TypedValue keys = 3;
     */
    keys?: TypedValue;
    /**
     * Output columns. If empty all columns will be requested
     *
     * @generated from field: repeated string columns = 4;
     */
    columns: string[];
};
/**
 * Describes the message Ydb.Table.ReadRowsRequest.
 * Use `create(ReadRowsRequestSchema)` to create a new message.
 */
export declare const ReadRowsRequestSchema: GenMessage<ReadRowsRequest>;
/**
 * @generated from message Ydb.Table.ReadRowsResponse
 */
export type ReadRowsResponse = Message<"Ydb.Table.ReadRowsResponse"> & {
    /**
     * Status of request (same as other statuses)
     *
     * @generated from field: Ydb.StatusIds.StatusCode status = 1;
     */
    status: StatusIds_StatusCode;
    /**
     * Issues
     *
     * @generated from field: repeated Ydb.Issue.IssueMessage issues = 2;
     */
    issues: IssueMessage[];
    /**
     * Result set (same as result of sql request)
     *
     * @generated from field: Ydb.ResultSet result_set = 3;
     */
    resultSet?: ResultSet;
};
/**
 * Describes the message Ydb.Table.ReadRowsResponse.
 * Use `create(ReadRowsResponseSchema)` to create a new message.
 */
export declare const ReadRowsResponseSchema: GenMessage<ReadRowsResponse>;
/**
 * @generated from message Ydb.Table.BulkUpsertRequest
 */
export type BulkUpsertRequest = Message<"Ydb.Table.BulkUpsertRequest"> & {
    /**
     * @generated from field: string table = 1;
     */
    table: string;
    /**
     * "rows" parameter must be a list of structs where each stuct represents one row.
     * It must contain all key columns but not necessarily all non-key columns.
     * Similar to UPSERT statement only values of specified columns will be updated.
     *
     * @generated from field: Ydb.TypedValue rows = 2;
     */
    rows?: TypedValue;
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 3;
     */
    operationParams?: OperationParams;
    /**
     * You may set data_format + data instead of rows to insert data in serialized formats.
     *
     * @generated from oneof Ydb.Table.BulkUpsertRequest.data_format
     */
    dataFormat: {
        /**
         * @generated from field: Ydb.Formats.ArrowBatchSettings arrow_batch_settings = 7;
         */
        value: ArrowBatchSettings;
        case: "arrowBatchSettings";
    } | {
        /**
         * @generated from field: Ydb.Formats.CsvSettings csv_settings = 8;
         */
        value: CsvSettings;
        case: "csvSettings";
    } | {
        case: undefined;
        value?: undefined;
    };
    /**
     * It's last in the definition to help with sidecar patterns
     *
     * @generated from field: bytes data = 1000;
     */
    data: Uint8Array;
};
/**
 * Describes the message Ydb.Table.BulkUpsertRequest.
 * Use `create(BulkUpsertRequestSchema)` to create a new message.
 */
export declare const BulkUpsertRequestSchema: GenMessage<BulkUpsertRequest>;
/**
 * @generated from message Ydb.Table.BulkUpsertResponse
 */
export type BulkUpsertResponse = Message<"Ydb.Table.BulkUpsertResponse"> & {
    /**
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Table.BulkUpsertResponse.
 * Use `create(BulkUpsertResponseSchema)` to create a new message.
 */
export declare const BulkUpsertResponseSchema: GenMessage<BulkUpsertResponse>;
/**
 * @generated from message Ydb.Table.BulkUpsertResult
 */
export type BulkUpsertResult = Message<"Ydb.Table.BulkUpsertResult"> & {};
/**
 * Describes the message Ydb.Table.BulkUpsertResult.
 * Use `create(BulkUpsertResultSchema)` to create a new message.
 */
export declare const BulkUpsertResultSchema: GenMessage<BulkUpsertResult>;
/**
 * @generated from message Ydb.Table.ExecuteScanQueryRequest
 */
export type ExecuteScanQueryRequest = Message<"Ydb.Table.ExecuteScanQueryRequest"> & {
    /**
     * @generated from field: Ydb.Table.Query query = 3;
     */
    query?: Query;
    /**
     * @generated from field: map<string, Ydb.TypedValue> parameters = 4;
     */
    parameters: {
        [key: string]: TypedValue;
    };
    /**
     * @generated from field: Ydb.Table.ExecuteScanQueryRequest.Mode mode = 6;
     */
    mode: ExecuteScanQueryRequest_Mode;
    /**
     * @generated from field: Ydb.Table.QueryStatsCollection.Mode collect_stats = 8;
     */
    collectStats: QueryStatsCollection_Mode;
    /**
     * works only in mode: MODE_EXPLAIN,
     * collects additional diagnostics about query compilation, including query plan and scheme
     *
     * @generated from field: bool collect_full_diagnostics = 9;
     */
    collectFullDiagnostics: boolean;
};
/**
 * Describes the message Ydb.Table.ExecuteScanQueryRequest.
 * Use `create(ExecuteScanQueryRequestSchema)` to create a new message.
 */
export declare const ExecuteScanQueryRequestSchema: GenMessage<ExecuteScanQueryRequest>;
/**
 * @generated from enum Ydb.Table.ExecuteScanQueryRequest.Mode
 */
export declare enum ExecuteScanQueryRequest_Mode {
    /**
     * @generated from enum value: MODE_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * @generated from enum value: MODE_EXPLAIN = 1;
     */
    EXPLAIN = 1,
    /**
     * MODE_PREPARE = 2;
     *
     * @generated from enum value: MODE_EXEC = 3;
     */
    EXEC = 3
}
/**
 * Describes the enum Ydb.Table.ExecuteScanQueryRequest.Mode.
 */
export declare const ExecuteScanQueryRequest_ModeSchema: GenEnum<ExecuteScanQueryRequest_Mode>;
/**
 * @generated from message Ydb.Table.ExecuteScanQueryPartialResponse
 */
export type ExecuteScanQueryPartialResponse = Message<"Ydb.Table.ExecuteScanQueryPartialResponse"> & {
    /**
     * @generated from field: Ydb.StatusIds.StatusCode status = 1;
     */
    status: StatusIds_StatusCode;
    /**
     * @generated from field: repeated Ydb.Issue.IssueMessage issues = 2;
     */
    issues: IssueMessage[];
    /**
     * @generated from field: Ydb.Table.ExecuteScanQueryPartialResult result = 3;
     */
    result?: ExecuteScanQueryPartialResult;
};
/**
 * Describes the message Ydb.Table.ExecuteScanQueryPartialResponse.
 * Use `create(ExecuteScanQueryPartialResponseSchema)` to create a new message.
 */
export declare const ExecuteScanQueryPartialResponseSchema: GenMessage<ExecuteScanQueryPartialResponse>;
/**
 * @generated from message Ydb.Table.ExecuteScanQueryPartialResult
 */
export type ExecuteScanQueryPartialResult = Message<"Ydb.Table.ExecuteScanQueryPartialResult"> & {
    /**
     * @generated from field: Ydb.ResultSet result_set = 1;
     */
    resultSet?: ResultSet;
    /**
     * @generated from field: Ydb.TableStats.QueryStats query_stats = 6;
     */
    queryStats?: QueryStats;
    /**
     * works only in mode: MODE_EXPLAIN,
     * collects additional diagnostics about query compilation, including query plan and scheme
     *
     * @generated from field: string query_full_diagnostics = 7;
     */
    queryFullDiagnostics: string;
};
/**
 * Describes the message Ydb.Table.ExecuteScanQueryPartialResult.
 * Use `create(ExecuteScanQueryPartialResultSchema)` to create a new message.
 */
export declare const ExecuteScanQueryPartialResultSchema: GenMessage<ExecuteScanQueryPartialResult>;
/**
 * @generated from enum Ydb.Table.StoreType
 */
export declare enum StoreType {
    /**
     * @generated from enum value: STORE_TYPE_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * @generated from enum value: STORE_TYPE_ROW = 1;
     */
    ROW = 1,
    /**
     * @generated from enum value: STORE_TYPE_COLUMN = 2;
     */
    COLUMN = 2
}
/**
 * Describes the enum Ydb.Table.StoreType.
 */
export declare const StoreTypeSchema: GenEnum<StoreType>;
//# sourceMappingURL=ydb_table_pb.d.ts.map