import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { Operation, OperationParams } from "./ydb_operation_pb.js";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/ydb_cms.proto.
 */
export declare const file_protos_ydb_cms: GenFile;
/**
 * A set of uniform storage units.
 * Single storage unit can be thought of as a reserved part of a RAID.
 *
 * @generated from message Ydb.Cms.StorageUnits
 */
export type StorageUnits = Message<"Ydb.Cms.StorageUnits"> & {
    /**
     * Required. Kind of the storage unit. Determine guarantees
     * for all main unit parameters: used hard disk type, capacity
     * throughput, IOPS etc.
     *
     * @generated from field: string unit_kind = 1;
     */
    unitKind: string;
    /**
     * Required. The number of units in this set.
     *
     * @generated from field: uint64 count = 2;
     */
    count: bigint;
};
/**
 * Describes the message Ydb.Cms.StorageUnits.
 * Use `create(StorageUnitsSchema)` to create a new message.
 */
export declare const StorageUnitsSchema: GenMessage<StorageUnits>;
/**
 * A set of uniform computational units.
 *
 * @generated from message Ydb.Cms.ComputationalUnits
 */
export type ComputationalUnits = Message<"Ydb.Cms.ComputationalUnits"> & {
    /**
     * Required. Kind of the computational unit. Determine main
     * unit parameters like available memory, CPU, etc.
     *
     * @generated from field: string unit_kind = 1;
     */
    unitKind: string;
    /**
     * The availability zone all unit should be located in.
     * By default any availability zone can be used.
     *
     * @generated from field: string availability_zone = 2;
     */
    availabilityZone: string;
    /**
     * Required. The number of units in this set.
     *
     * @generated from field: uint64 count = 3;
     */
    count: bigint;
};
/**
 * Describes the message Ydb.Cms.ComputationalUnits.
 * Use `create(ComputationalUnitsSchema)` to create a new message.
 */
export declare const ComputationalUnitsSchema: GenMessage<ComputationalUnits>;
/**
 * Computational unit allocated for database. Used to register
 * externally allocated computational resources in CMS.
 *
 * @generated from message Ydb.Cms.AllocatedComputationalUnit
 */
export type AllocatedComputationalUnit = Message<"Ydb.Cms.AllocatedComputationalUnit"> & {
    /**
     * Required. Computational unit host name.
     *
     * @generated from field: string host = 1;
     */
    host: string;
    /**
     * Required. Computational unit port.
     *
     * @generated from field: uint32 port = 2;
     */
    port: number;
    /**
     * Required. Computational unit kind.
     *
     * @generated from field: string unit_kind = 3;
     */
    unitKind: string;
};
/**
 * Describes the message Ydb.Cms.AllocatedComputationalUnit.
 * Use `create(AllocatedComputationalUnitSchema)` to create a new message.
 */
export declare const AllocatedComputationalUnitSchema: GenMessage<AllocatedComputationalUnit>;
/**
 * A set of computational and storage resources.
 *
 * @generated from message Ydb.Cms.Resources
 */
export type Resources = Message<"Ydb.Cms.Resources"> & {
    /**
     * Storage resources.
     *
     * @generated from field: repeated Ydb.Cms.StorageUnits storage_units = 1;
     */
    storageUnits: StorageUnits[];
    /**
     * Computational resources.
     *
     * @generated from field: repeated Ydb.Cms.ComputationalUnits computational_units = 2;
     */
    computationalUnits: ComputationalUnits[];
};
/**
 * Describes the message Ydb.Cms.Resources.
 * Use `create(ResourcesSchema)` to create a new message.
 */
export declare const ResourcesSchema: GenMessage<Resources>;
/**
 * @generated from message Ydb.Cms.ServerlessResources
 */
export type ServerlessResources = Message<"Ydb.Cms.ServerlessResources"> & {
    /**
     * Full path to shared database's home dir whose resources will be used.
     *
     * @generated from field: string shared_database_path = 1;
     */
    sharedDatabasePath: string;
};
/**
 * Describes the message Ydb.Cms.ServerlessResources.
 * Use `create(ServerlessResourcesSchema)` to create a new message.
 */
export declare const ServerlessResourcesSchema: GenMessage<ServerlessResources>;
/**
 * @generated from message Ydb.Cms.DatabaseOptions
 */
export type DatabaseOptions = Message<"Ydb.Cms.DatabaseOptions"> & {
    /**
     * Do not initialize services required for transactions processing.
     *
     * @generated from field: bool disable_tx_service = 1;
     */
    disableTxService: boolean;
    /**
     * Old-style database, do not create external schemeshard for database
     *
     * @generated from field: bool disable_external_subdomain = 2;
     */
    disableExternalSubdomain: boolean;
    /**
     * Transaction plan resolution in milliseconds
     *
     * @generated from field: uint32 plan_resolution = 3;
     */
    planResolution: number;
};
/**
 * Describes the message Ydb.Cms.DatabaseOptions.
 * Use `create(DatabaseOptionsSchema)` to create a new message.
 */
export declare const DatabaseOptionsSchema: GenMessage<DatabaseOptions>;
/**
 * A set of quotas for schema operations
 *
 * @generated from message Ydb.Cms.SchemaOperationQuotas
 */
export type SchemaOperationQuotas = Message<"Ydb.Cms.SchemaOperationQuotas"> & {
    /**
     * Leaky bucket based quotas
     *
     * @generated from field: repeated Ydb.Cms.SchemaOperationQuotas.LeakyBucket leaky_bucket_quotas = 1;
     */
    leakyBucketQuotas: SchemaOperationQuotas_LeakyBucket[];
};
/**
 * Describes the message Ydb.Cms.SchemaOperationQuotas.
 * Use `create(SchemaOperationQuotasSchema)` to create a new message.
 */
export declare const SchemaOperationQuotasSchema: GenMessage<SchemaOperationQuotas>;
/**
 * A single quota based on leaky bucket
 *
 * @generated from message Ydb.Cms.SchemaOperationQuotas.LeakyBucket
 */
export type SchemaOperationQuotas_LeakyBucket = Message<"Ydb.Cms.SchemaOperationQuotas.LeakyBucket"> & {
    /**
     * Bucket size, e.g. <1000> per day
     *
     * @generated from field: double bucket_size = 1;
     */
    bucketSize: number;
    /**
     * Bucket duration in seconds, e.g. 1000 per <day>
     *
     * @generated from field: uint64 bucket_seconds = 2;
     */
    bucketSeconds: bigint;
};
/**
 * Describes the message Ydb.Cms.SchemaOperationQuotas.LeakyBucket.
 * Use `create(SchemaOperationQuotas_LeakyBucketSchema)` to create a new message.
 */
export declare const SchemaOperationQuotas_LeakyBucketSchema: GenMessage<SchemaOperationQuotas_LeakyBucket>;
/**
 * A set of quotas for the database
 *
 * @generated from message Ydb.Cms.DatabaseQuotas
 */
export type DatabaseQuotas = Message<"Ydb.Cms.DatabaseQuotas"> & {
    /**
     * A maximum data size in bytes, new data will be rejected when exceeded
     *
     * @generated from field: uint64 data_size_hard_quota = 1;
     */
    dataSizeHardQuota: bigint;
    /**
     * An optional size in bytes (lower than data_size_hard_quota). When data
     * size becomes lower than this value new data ingestion is re-enabled
     * again. This is useful to help avoid database from rapidly entering and
     * exiting from the overloaded state.
     *
     * @generated from field: uint64 data_size_soft_quota = 2;
     */
    dataSizeSoftQuota: bigint;
    /**
     * A maximum count of shards in all data streams.
     *
     * @generated from field: uint64 data_stream_shards_quota = 3;
     */
    dataStreamShardsQuota: bigint;
    /**
     * A maximum storage that will be reserved for all data stream shards.
     *
     * @generated from field: uint64 data_stream_reserved_storage_quota = 5;
     */
    dataStreamReservedStorageQuota: bigint;
    /**
     * A minimum value of `TtlSettings.run_interval_seconds` that can be specified.
     * Default is 1800 (15 minutes).
     *
     * @generated from field: uint32 ttl_min_run_internal_seconds = 4;
     */
    ttlMinRunInternalSeconds: number;
};
/**
 * Describes the message Ydb.Cms.DatabaseQuotas.
 * Use `create(DatabaseQuotasSchema)` to create a new message.
 */
export declare const DatabaseQuotasSchema: GenMessage<DatabaseQuotas>;
/**
 * Request to create a new database. For successfull creation
 * specified database shouldn't exist. At least one storage
 * unit should be requested for the database.
 *
 * @generated from message Ydb.Cms.CreateDatabaseRequest
 */
export type CreateDatabaseRequest = Message<"Ydb.Cms.CreateDatabaseRequest"> & {
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 1;
     */
    operationParams?: OperationParams;
    /**
     * Required. Full path to database's home dir. Used as database ID.
     *
     * @generated from field: string path = 2;
     */
    path: string;
    /**
     * @generated from oneof Ydb.Cms.CreateDatabaseRequest.resources_kind
     */
    resourcesKind: {
        /**
         * Resources to allocate for database by CMS.
         *
         * @generated from field: Ydb.Cms.Resources resources = 3;
         */
        value: Resources;
        case: "resources";
    } | {
        /**
         * Shared resources can be used by serverless databases.
         *
         * @generated from field: Ydb.Cms.Resources shared_resources = 6;
         */
        value: Resources;
        case: "sharedResources";
    } | {
        /**
         * If specified, the created database will be "serverless".
         *
         * @generated from field: Ydb.Cms.ServerlessResources serverless_resources = 7;
         */
        value: ServerlessResources;
        case: "serverlessResources";
    } | {
        case: undefined;
        value?: undefined;
    };
    /**
     * Additional database options.
     *
     * @generated from field: Ydb.Cms.DatabaseOptions options = 4;
     */
    options?: DatabaseOptions;
    /**
     * Attach attributes to database.
     *
     * @generated from field: map<string, string> attributes = 5;
     */
    attributes: {
        [key: string]: string;
    };
    /**
     * Optional quotas for schema operations
     *
     * @generated from field: Ydb.Cms.SchemaOperationQuotas schema_operation_quotas = 8;
     */
    schemaOperationQuotas?: SchemaOperationQuotas;
    /**
     * Optional idempotency key
     *
     * @generated from field: string idempotency_key = 9;
     */
    idempotencyKey: string;
    /**
     * Optional quotas for the database
     *
     * @generated from field: Ydb.Cms.DatabaseQuotas database_quotas = 10;
     */
    databaseQuotas?: DatabaseQuotas;
};
/**
 * Describes the message Ydb.Cms.CreateDatabaseRequest.
 * Use `create(CreateDatabaseRequestSchema)` to create a new message.
 */
export declare const CreateDatabaseRequestSchema: GenMessage<CreateDatabaseRequest>;
/**
 * @generated from message Ydb.Cms.CreateDatabaseResponse
 */
export type CreateDatabaseResponse = Message<"Ydb.Cms.CreateDatabaseResponse"> & {
    /**
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Cms.CreateDatabaseResponse.
 * Use `create(CreateDatabaseResponseSchema)` to create a new message.
 */
export declare const CreateDatabaseResponseSchema: GenMessage<CreateDatabaseResponse>;
/**
 * Get current database status.
 *
 * @generated from message Ydb.Cms.GetDatabaseStatusRequest
 */
export type GetDatabaseStatusRequest = Message<"Ydb.Cms.GetDatabaseStatusRequest"> & {
    /**
     * Required. Full path to database's home dir.
     *
     * @generated from field: string path = 1;
     */
    path: string;
    /**
     * Operation parameters
     *
     * @generated from field: Ydb.Operations.OperationParams operation_params = 2;
     */
    operationParams?: OperationParams;
};
/**
 * Describes the message Ydb.Cms.GetDatabaseStatusRequest.
 * Use `create(GetDatabaseStatusRequestSchema)` to create a new message.
 */
export declare const GetDatabaseStatusRequestSchema: GenMessage<GetDatabaseStatusRequest>;
/**
 * @generated from message Ydb.Cms.GetDatabaseStatusResponse
 */
export type GetDatabaseStatusResponse = Message<"Ydb.Cms.GetDatabaseStatusResponse"> & {
    /**
     * operation.result holds GetDatabaseStatusResult
     *
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Cms.GetDatabaseStatusResponse.
 * Use `create(GetDatabaseStatusResponseSchema)` to create a new message.
 */
export declare const GetDatabaseStatusResponseSchema: GenMessage<GetDatabaseStatusResponse>;
/**
 * @generated from message Ydb.Cms.GetDatabaseStatusResult
 */
export type GetDatabaseStatusResult = Message<"Ydb.Cms.GetDatabaseStatusResult"> & {
    /**
     * Full path to database's home dir.
     *
     * @generated from field: string path = 1;
     */
    path: string;
    /**
     * Current database state.
     *
     * @generated from field: Ydb.Cms.GetDatabaseStatusResult.State state = 2;
     */
    state: GetDatabaseStatusResult_State;
    /**
     * @generated from oneof Ydb.Cms.GetDatabaseStatusResult.resources_kind
     */
    resourcesKind: {
        /**
         * Database resources requested for allocation.
         *
         * @generated from field: Ydb.Cms.Resources required_resources = 3;
         */
        value: Resources;
        case: "requiredResources";
    } | {
        /**
         * @generated from field: Ydb.Cms.Resources required_shared_resources = 7;
         */
        value: Resources;
        case: "requiredSharedResources";
    } | {
        /**
         * @generated from field: Ydb.Cms.ServerlessResources serverless_resources = 8;
         */
        value: ServerlessResources;
        case: "serverlessResources";
    } | {
        case: undefined;
        value?: undefined;
    };
    /**
     * Database resources allocated by CMS.
     *
     * @generated from field: Ydb.Cms.Resources allocated_resources = 4;
     */
    allocatedResources?: Resources;
    /**
     * Externally allocated database resources registered in CMS.
     *
     * @generated from field: repeated Ydb.Cms.AllocatedComputationalUnit registered_resources = 5;
     */
    registeredResources: AllocatedComputationalUnit[];
    /**
     * Current database generation. Incremented at each successful
     * alter request.
     *
     * @generated from field: uint64 generation = 6;
     */
    generation: bigint;
    /**
     * Current quotas for schema operations
     *
     * @generated from field: Ydb.Cms.SchemaOperationQuotas schema_operation_quotas = 9;
     */
    schemaOperationQuotas?: SchemaOperationQuotas;
    /**
     * Current quotas for the database
     *
     * @generated from field: Ydb.Cms.DatabaseQuotas database_quotas = 10;
     */
    databaseQuotas?: DatabaseQuotas;
};
/**
 * Describes the message Ydb.Cms.GetDatabaseStatusResult.
 * Use `create(GetDatabaseStatusResultSchema)` to create a new message.
 */
export declare const GetDatabaseStatusResultSchema: GenMessage<GetDatabaseStatusResult>;
/**
 * @generated from enum Ydb.Cms.GetDatabaseStatusResult.State
 */
export declare enum GetDatabaseStatusResult_State {
    /**
     * @generated from enum value: STATE_UNSPECIFIED = 0;
     */
    STATE_UNSPECIFIED = 0,
    /**
     * @generated from enum value: CREATING = 1;
     */
    CREATING = 1,
    /**
     * @generated from enum value: RUNNING = 2;
     */
    RUNNING = 2,
    /**
     * @generated from enum value: REMOVING = 3;
     */
    REMOVING = 3,
    /**
     * @generated from enum value: PENDING_RESOURCES = 4;
     */
    PENDING_RESOURCES = 4,
    /**
     * @generated from enum value: CONFIGURING = 5;
     */
    CONFIGURING = 5
}
/**
 * Describes the enum Ydb.Cms.GetDatabaseStatusResult.State.
 */
export declare const GetDatabaseStatusResult_StateSchema: GenEnum<GetDatabaseStatusResult_State>;
/**
 * Change resources allocated for database.
 *
 * @generated from message Ydb.Cms.AlterDatabaseRequest
 */
export type AlterDatabaseRequest = Message<"Ydb.Cms.AlterDatabaseRequest"> & {
    /**
     * Required. Full path to database's home dir.
     *
     * @generated from field: string path = 1;
     */
    path: string;
    /**
     * Additional computational units to allocate for database.
     *
     * @generated from field: repeated Ydb.Cms.ComputationalUnits computational_units_to_add = 2;
     */
    computationalUnitsToAdd: ComputationalUnits[];
    /**
     * Computational units to deallocate.
     *
     * @generated from field: repeated Ydb.Cms.ComputationalUnits computational_units_to_remove = 3;
     */
    computationalUnitsToRemove: ComputationalUnits[];
    /**
     * Additional storage units to allocate for database.
     *
     * @generated from field: repeated Ydb.Cms.StorageUnits storage_units_to_add = 4;
     */
    storageUnitsToAdd: StorageUnits[];
    /**
     * Externally allocated computational units to register for database.
     *
     * @generated from field: repeated Ydb.Cms.AllocatedComputationalUnit computational_units_to_register = 5;
     */
    computationalUnitsToRegister: AllocatedComputationalUnit[];
    /**
     * Externally allocated computational units to deregister.
     *
     * @generated from field: repeated Ydb.Cms.AllocatedComputationalUnit computational_units_to_deregister = 6;
     */
    computationalUnitsToDeregister: AllocatedComputationalUnit[];
    /**
     * Operation parameters.
     *
     * @generated from field: Ydb.Operations.OperationParams operation_params = 7;
     */
    operationParams?: OperationParams;
    /**
     * Current generation of altered database.
     *
     * @generated from field: uint64 generation = 8;
     */
    generation: bigint;
    /**
     * Change quotas for schema operations
     *
     * @generated from field: Ydb.Cms.SchemaOperationQuotas schema_operation_quotas = 9;
     */
    schemaOperationQuotas?: SchemaOperationQuotas;
    /**
     * Optional idempotency key
     *
     * @generated from field: string idempotency_key = 10;
     */
    idempotencyKey: string;
    /**
     * Change quotas for the database
     *
     * @generated from field: Ydb.Cms.DatabaseQuotas database_quotas = 11;
     */
    databaseQuotas?: DatabaseQuotas;
    /**
     * Alter attributes. Leave the value blank to drop an attribute.
     *
     * @generated from field: map<string, string> alter_attributes = 12;
     */
    alterAttributes: {
        [key: string]: string;
    };
};
/**
 * Describes the message Ydb.Cms.AlterDatabaseRequest.
 * Use `create(AlterDatabaseRequestSchema)` to create a new message.
 */
export declare const AlterDatabaseRequestSchema: GenMessage<AlterDatabaseRequest>;
/**
 * @generated from message Ydb.Cms.AlterDatabaseResponse
 */
export type AlterDatabaseResponse = Message<"Ydb.Cms.AlterDatabaseResponse"> & {
    /**
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Cms.AlterDatabaseResponse.
 * Use `create(AlterDatabaseResponseSchema)` to create a new message.
 */
export declare const AlterDatabaseResponseSchema: GenMessage<AlterDatabaseResponse>;
/**
 * List all databases known by CMS.
 *
 * @generated from message Ydb.Cms.ListDatabasesRequest
 */
export type ListDatabasesRequest = Message<"Ydb.Cms.ListDatabasesRequest"> & {
    /**
     * Operation parameters
     *
     * @generated from field: Ydb.Operations.OperationParams operation_params = 1;
     */
    operationParams?: OperationParams;
};
/**
 * Describes the message Ydb.Cms.ListDatabasesRequest.
 * Use `create(ListDatabasesRequestSchema)` to create a new message.
 */
export declare const ListDatabasesRequestSchema: GenMessage<ListDatabasesRequest>;
/**
 * @generated from message Ydb.Cms.ListDatabasesResponse
 */
export type ListDatabasesResponse = Message<"Ydb.Cms.ListDatabasesResponse"> & {
    /**
     * operation.result holds ListDatabasesResult
     *
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Cms.ListDatabasesResponse.
 * Use `create(ListDatabasesResponseSchema)` to create a new message.
 */
export declare const ListDatabasesResponseSchema: GenMessage<ListDatabasesResponse>;
/**
 * @generated from message Ydb.Cms.ListDatabasesResult
 */
export type ListDatabasesResult = Message<"Ydb.Cms.ListDatabasesResult"> & {
    /**
     * @generated from field: repeated string paths = 1;
     */
    paths: string[];
};
/**
 * Describes the message Ydb.Cms.ListDatabasesResult.
 * Use `create(ListDatabasesResultSchema)` to create a new message.
 */
export declare const ListDatabasesResultSchema: GenMessage<ListDatabasesResult>;
/**
 * Completely remove database and all his data.
 *
 * @generated from message Ydb.Cms.RemoveDatabaseRequest
 */
export type RemoveDatabaseRequest = Message<"Ydb.Cms.RemoveDatabaseRequest"> & {
    /**
     * Required. Full path to database's home dir.
     *
     * @generated from field: string path = 1;
     */
    path: string;
    /**
     * @generated from field: Ydb.Operations.OperationParams operation_params = 2;
     */
    operationParams?: OperationParams;
};
/**
 * Describes the message Ydb.Cms.RemoveDatabaseRequest.
 * Use `create(RemoveDatabaseRequestSchema)` to create a new message.
 */
export declare const RemoveDatabaseRequestSchema: GenMessage<RemoveDatabaseRequest>;
/**
 * @generated from message Ydb.Cms.RemoveDatabaseResponse
 */
export type RemoveDatabaseResponse = Message<"Ydb.Cms.RemoveDatabaseResponse"> & {
    /**
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Cms.RemoveDatabaseResponse.
 * Use `create(RemoveDatabaseResponseSchema)` to create a new message.
 */
export declare const RemoveDatabaseResponseSchema: GenMessage<RemoveDatabaseResponse>;
/**
 * @generated from message Ydb.Cms.StorageUnitDescription
 */
export type StorageUnitDescription = Message<"Ydb.Cms.StorageUnitDescription"> & {
    /**
     * @generated from field: string kind = 1;
     */
    kind: string;
    /**
     * @generated from field: map<string, string> labels = 2;
     */
    labels: {
        [key: string]: string;
    };
};
/**
 * Describes the message Ydb.Cms.StorageUnitDescription.
 * Use `create(StorageUnitDescriptionSchema)` to create a new message.
 */
export declare const StorageUnitDescriptionSchema: GenMessage<StorageUnitDescription>;
/**
 * @generated from message Ydb.Cms.AvailabilityZoneDescription
 */
export type AvailabilityZoneDescription = Message<"Ydb.Cms.AvailabilityZoneDescription"> & {
    /**
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * @generated from field: map<string, string> labels = 2;
     */
    labels: {
        [key: string]: string;
    };
};
/**
 * Describes the message Ydb.Cms.AvailabilityZoneDescription.
 * Use `create(AvailabilityZoneDescriptionSchema)` to create a new message.
 */
export declare const AvailabilityZoneDescriptionSchema: GenMessage<AvailabilityZoneDescription>;
/**
 * @generated from message Ydb.Cms.ComputationalUnitDescription
 */
export type ComputationalUnitDescription = Message<"Ydb.Cms.ComputationalUnitDescription"> & {
    /**
     * @generated from field: string kind = 1;
     */
    kind: string;
    /**
     * @generated from field: map<string, string> labels = 2;
     */
    labels: {
        [key: string]: string;
    };
    /**
     * @generated from field: repeated string allowed_availability_zones = 3;
     */
    allowedAvailabilityZones: string[];
};
/**
 * Describes the message Ydb.Cms.ComputationalUnitDescription.
 * Use `create(ComputationalUnitDescriptionSchema)` to create a new message.
 */
export declare const ComputationalUnitDescriptionSchema: GenMessage<ComputationalUnitDescription>;
/**
 * @generated from message Ydb.Cms.DescribeDatabaseOptionsRequest
 */
export type DescribeDatabaseOptionsRequest = Message<"Ydb.Cms.DescribeDatabaseOptionsRequest"> & {
    /**
     * Operation parameters
     *
     * @generated from field: Ydb.Operations.OperationParams operation_params = 1;
     */
    operationParams?: OperationParams;
};
/**
 * Describes the message Ydb.Cms.DescribeDatabaseOptionsRequest.
 * Use `create(DescribeDatabaseOptionsRequestSchema)` to create a new message.
 */
export declare const DescribeDatabaseOptionsRequestSchema: GenMessage<DescribeDatabaseOptionsRequest>;
/**
 * @generated from message Ydb.Cms.DescribeDatabaseOptionsResponse
 */
export type DescribeDatabaseOptionsResponse = Message<"Ydb.Cms.DescribeDatabaseOptionsResponse"> & {
    /**
     * operation.result holds DescribeDatabaseOptionsResult
     *
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Cms.DescribeDatabaseOptionsResponse.
 * Use `create(DescribeDatabaseOptionsResponseSchema)` to create a new message.
 */
export declare const DescribeDatabaseOptionsResponseSchema: GenMessage<DescribeDatabaseOptionsResponse>;
/**
 * @generated from message Ydb.Cms.DescribeDatabaseOptionsResult
 */
export type DescribeDatabaseOptionsResult = Message<"Ydb.Cms.DescribeDatabaseOptionsResult"> & {
    /**
     * @generated from field: repeated Ydb.Cms.StorageUnitDescription storage_units = 1;
     */
    storageUnits: StorageUnitDescription[];
    /**
     * @generated from field: repeated Ydb.Cms.AvailabilityZoneDescription availability_zones = 2;
     */
    availabilityZones: AvailabilityZoneDescription[];
    /**
     * @generated from field: repeated Ydb.Cms.ComputationalUnitDescription computational_units = 3;
     */
    computationalUnits: ComputationalUnitDescription[];
};
/**
 * Describes the message Ydb.Cms.DescribeDatabaseOptionsResult.
 * Use `create(DescribeDatabaseOptionsResultSchema)` to create a new message.
 */
export declare const DescribeDatabaseOptionsResultSchema: GenMessage<DescribeDatabaseOptionsResult>;
//# sourceMappingURL=ydb_cms_pb.d.ts.map