import { Long, unknownFieldsSymbol } from "../../../../runtime/protos/index.js"; import type { Dayjs, Duration, MessageDescriptor, MessageFns, EnumInstance, EnumClass } from "../../../../runtime/protos/index.js"; import { customJson } from "../../../../runtime/util/logging.js"; import { ChannelCredentials, Client, ClientUnaryCall, ClientOptions, CallOptions, Metadata, ServiceError as GrpcServiceError, handleUnaryCall, UntypedServiceImplementation } from "@grpc/grpc-js"; import type { SDKInterface } from "../../../../sdk.js"; import { Request as SDKRequestClass, type RetryOptions } from "../../../../runtime/request.js"; import { Operation as OperationWrapper } from "../../../../runtime/operation.js"; import { GetOperationRequest, Operation, OperationService, ResourceMetadata } from "../../common/v1/index.js"; /** Represents the `nebius.kms.v1.AsymmetricSignHashRequest` protobuf message. */ export interface AsymmetricSignHashRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.AsymmetricSignHashRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the asymmetric KMS key to use for signing the hash. * */ keyId: string; /** * Hash to sign. * */ hash: Uint8Array; } /** Encodes, decodes, converts, and creates {@link AsymmetricSignHashRequest} messages. */ export declare const AsymmetricSignHashRequest: MessageFns; /** Represents the `nebius.kms.v1.AsymmetricSignHashResponse` protobuf message. */ export interface AsymmetricSignHashResponse { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.AsymmetricSignHashResponse"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the asymmetric KMS key used to produce the signature. * */ keyId: string; /** * Value of signature. * */ signature: Uint8Array; } /** Encodes, decodes, converts, and creates {@link AsymmetricSignHashResponse} messages. */ export declare const AsymmetricSignHashResponse: MessageFns; /** Represents the `nebius.kms.v1.AsymmetricGetPublicKeyRequest` protobuf message. */ export interface AsymmetricGetPublicKeyRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.AsymmetricGetPublicKeyRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the asymmetric KMS key whose public key should be returned. * */ keyId: string; } /** Encodes, decodes, converts, and creates {@link AsymmetricGetPublicKeyRequest} messages. */ export declare const AsymmetricGetPublicKeyRequest: MessageFns; /** Represents the `nebius.kms.v1.AsymmetricGetPublicKeyResponse` protobuf message. */ export interface AsymmetricGetPublicKeyResponse { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.AsymmetricGetPublicKeyResponse"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the asymmetric KMS key whose public key was returned. * */ keyId: string; /** * Public key value. * The value is a PEM-encoded X.509 public key, also known as SubjectPublicKeyInfo (SPKI), as defined in RFC 5280. * */ publicKey: string; } /** Encodes, decodes, converts, and creates {@link AsymmetricGetPublicKeyResponse} messages. */ export declare const AsymmetricGetPublicKeyResponse: MessageFns; /** Represents the `nebius.kms.v1.AsymmetricDecryptRequest` protobuf message. */ export interface AsymmetricDecryptRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.AsymmetricDecryptRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the asymmetric KMS key. * */ keyId: string; /** * cipher text to be decrypted. * */ ciphertext: Uint8Array; } /** Encodes, decodes, converts, and creates {@link AsymmetricDecryptRequest} messages. */ export declare const AsymmetricDecryptRequest: MessageFns; /** Represents the `nebius.kms.v1.AsymmetricDecryptResponse` protobuf message. */ export interface AsymmetricDecryptResponse { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.AsymmetricDecryptResponse"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the asymmetric KMS key that was used for decryption. * */ keyId: string; /** * Decrypted plaintext. * */ plaintext: Uint8Array; } /** Encodes, decodes, converts, and creates {@link AsymmetricDecryptResponse} messages. */ export declare const AsymmetricDecryptResponse: MessageFns; /** * Defines the gRPC methods for the `nebius.kms.v1.AsymmetricCryptoService` service. */ export type AsymmetricCryptoServiceServiceDescription = typeof AsymmetricCryptoServiceServiceDescription; /** * Describes the gRPC methods for the `nebius.kms.v1.AsymmetricCryptoService` service. */ export declare const AsymmetricCryptoServiceServiceDescription: { readonly signHash: { readonly path: "/nebius.kms.v1.AsymmetricCryptoService/SignHash"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: AsymmetricSignHashRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => AsymmetricSignHashRequest; readonly responseSerialize: (value: AsymmetricSignHashResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => AsymmetricSignHashResponse; }; readonly getPublicKey: { readonly path: "/nebius.kms.v1.AsymmetricCryptoService/GetPublicKey"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: AsymmetricGetPublicKeyRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => AsymmetricGetPublicKeyRequest; readonly responseSerialize: (value: AsymmetricGetPublicKeyResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => AsymmetricGetPublicKeyResponse; }; readonly decrypt: { readonly path: "/nebius.kms.v1.AsymmetricCryptoService/Decrypt"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: AsymmetricDecryptRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => AsymmetricDecryptRequest; readonly responseSerialize: (value: AsymmetricDecryptResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => AsymmetricDecryptResponse; }; }; /** * Handles server calls for the `nebius.kms.v1.AsymmetricCryptoService` service. */ export interface AsymmetricCryptoServiceServer extends UntypedServiceImplementation { /** * Signs a hashed value using an asymmetric key. * */ signHash: handleUnaryCall; /** * Retrieves the public key of an asymmetric key pair. * */ getPublicKey: handleUnaryCall; /** * Decrypts the ciphertext with the specified key. * */ decrypt: handleUnaryCall; } /** * Defines the low-level gRPC client for the `nebius.kms.v1.AsymmetricCryptoService` service. */ export interface AsymmetricCryptoServiceBaseClient extends Client { /** * Signs a hashed value using an asymmetric key. * */ signHash(request: AsymmetricSignHashRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: AsymmetricSignHashResponse) => void): ClientUnaryCall; /** * Retrieves the public key of an asymmetric key pair. * */ getPublicKey(request: AsymmetricGetPublicKeyRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: AsymmetricGetPublicKeyResponse) => void): ClientUnaryCall; /** * Decrypts the ciphertext with the specified key. * */ decrypt(request: AsymmetricDecryptRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: AsymmetricDecryptResponse) => void): ClientUnaryCall; } /** * Creates low-level gRPC clients for the `nebius.kms.v1.AsymmetricCryptoService` service. */ export declare const AsymmetricCryptoServiceBaseClient: { /** Creates a low-level client for the service address. */ new (address: string, credentials: ChannelCredentials, options?: Partial): AsymmetricCryptoServiceBaseClient; /** Contains the gRPC service description. */ service: typeof AsymmetricCryptoServiceServiceDescription; /** Contains the fully qualified protobuf service name. */ serviceName: string; }; /** * Data plane for KMS asymmetric cryptography operations. * */ export interface AsymmetricCryptoService { /** Contains the fully qualified protobuf service name. */ $type: "nebius.kms.v1.AsymmetricCryptoService"; /** * Signs a hashed value using an asymmetric key. * */ signHash(request: AsymmetricSignHashRequest): SDKRequestClass; /** * Signs a hashed value using an asymmetric key. * */ signHash(request: AsymmetricSignHashRequest, metadata: Metadata): SDKRequestClass; /** * Signs a hashed value using an asymmetric key. * */ signHash(request: AsymmetricSignHashRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Retrieves the public key of an asymmetric key pair. * */ getPublicKey(request: AsymmetricGetPublicKeyRequest): SDKRequestClass; /** * Retrieves the public key of an asymmetric key pair. * */ getPublicKey(request: AsymmetricGetPublicKeyRequest, metadata: Metadata): SDKRequestClass; /** * Retrieves the public key of an asymmetric key pair. * */ getPublicKey(request: AsymmetricGetPublicKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Decrypts the ciphertext with the specified key. * */ decrypt(request: AsymmetricDecryptRequest): SDKRequestClass; /** * Decrypts the ciphertext with the specified key. * */ decrypt(request: AsymmetricDecryptRequest, metadata: Metadata): SDKRequestClass; /** * Decrypts the ciphertext with the specified key. * */ decrypt(request: AsymmetricDecryptRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; } /** * Calls the `nebius.kms.v1.AsymmetricCryptoService` service through the Nebius SDK. */ export declare class AsymmetricCryptoService implements AsymmetricCryptoService { private sdk; $type: "nebius.kms.v1.AsymmetricCryptoService"; private addr; private spec; private apiServiceName; /** Creates a client that uses the SDK service address. */ constructor(sdk: SDKInterface); /** * Signs a hashed value using an asymmetric key. * */ signHash(request: AsymmetricSignHashRequest): SDKRequestClass; /** * Signs a hashed value using an asymmetric key. * */ signHash(request: AsymmetricSignHashRequest, metadata: Metadata): SDKRequestClass; /** * Signs a hashed value using an asymmetric key. * */ signHash(request: AsymmetricSignHashRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Retrieves the public key of an asymmetric key pair. * */ getPublicKey(request: AsymmetricGetPublicKeyRequest): SDKRequestClass; /** * Retrieves the public key of an asymmetric key pair. * */ getPublicKey(request: AsymmetricGetPublicKeyRequest, metadata: Metadata): SDKRequestClass; /** * Retrieves the public key of an asymmetric key pair. * */ getPublicKey(request: AsymmetricGetPublicKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Decrypts the ciphertext with the specified key. * */ decrypt(request: AsymmetricDecryptRequest): SDKRequestClass; /** * Decrypts the ciphertext with the specified key. * */ decrypt(request: AsymmetricDecryptRequest, metadata: Metadata): SDKRequestClass; /** * Decrypts the ciphertext with the specified key. * */ decrypt(request: AsymmetricDecryptRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; } /** Represents the `nebius.kms.v1.CreateAsymmetricKeyRequest` protobuf message. */ export interface CreateAsymmetricKeyRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.CreateAsymmetricKeyRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * The metadata for the resource. * */ metadata?: ResourceMetadata | undefined; /** * The specifications for creating an asymmetric key. * */ spec?: AsymmetricKeySpec | undefined; } /** Encodes, decodes, converts, and creates {@link CreateAsymmetricKeyRequest} messages. */ export declare const CreateAsymmetricKeyRequest: MessageFns; /** Represents the `nebius.kms.v1.UpdateAsymmetricKeyRequest` protobuf message. */ export interface UpdateAsymmetricKeyRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.UpdateAsymmetricKeyRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * The metadata for the resource. * */ metadata?: ResourceMetadata | undefined; /** * The specifications for updating an asymmetric key. * */ spec?: AsymmetricKeySpec | undefined; } /** Encodes, decodes, converts, and creates {@link UpdateAsymmetricKeyRequest} messages. */ export declare const UpdateAsymmetricKeyRequest: MessageFns; /** Represents the `nebius.kms.v1.GetAsymmetricKeyRequest` protobuf message. */ export interface GetAsymmetricKeyRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.GetAsymmetricKeyRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the asymmetric KMS key to return. * To get the ID of an asymmetric KMS key use an [AsymmetricKeyService.List] request. * */ id: string; /** * By default, Get doesn't return resource if it is scheduled for deletion. * If show_scheduled_for_deletion = true, the Get operation returns the resource even if it is scheduled for deletion. * If show_scheduled_for_deletion = false, the Get method returns the NOT_FOUND gRPC status code. * */ showScheduledForDeletion: boolean; } /** Encodes, decodes, converts, and creates {@link GetAsymmetricKeyRequest} messages. */ export declare const GetAsymmetricKeyRequest: MessageFns; /** Represents the `nebius.kms.v1.GetAsymmetricKeyByNameRequest` protobuf message. */ export interface GetAsymmetricKeyByNameRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.GetAsymmetricKeyByNameRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * Parent Id and name of the asymmetric KMS key to return. * To get the name of an asymmetric KMS key use an [AsymmetricKeyService.List] request. * */ parentId: string; /** Contains the `name` protobuf field. */ name: string; } /** Encodes, decodes, converts, and creates {@link GetAsymmetricKeyByNameRequest} messages. */ export declare const GetAsymmetricKeyByNameRequest: MessageFns; /** Represents the `nebius.kms.v1.ListAsymmetricKeysRequest` protobuf message. */ export interface ListAsymmetricKeysRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.ListAsymmetricKeysRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the container to list asymmetric KMS keys in. * */ parentId: string; /** * The maximum number of results per page to return. If the number of available * results is larger than [page_size], the service returns a [ListAsymmetricKeysResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. * Default value: 100. * */ pageSize: Long; /** * Page token. To get the next page of results, set [page_token] to the * [ListAsymmetricKeysResponse.next_page_token] returned by a previous list request. * */ pageToken: string; /** * By default, List operation doesn't include resources that are scheduled for deletion. * If show_scheduled_for_deletion = true, the listing includes resources that are scheduled for deletion. * */ showScheduledForDeletion: boolean; } /** Encodes, decodes, converts, and creates {@link ListAsymmetricKeysRequest} messages. */ export declare const ListAsymmetricKeysRequest: MessageFns; /** Represents the `nebius.kms.v1.ListAsymmetricKeysResponse` protobuf message. */ export interface ListAsymmetricKeysResponse { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.ListAsymmetricKeysResponse"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * List of asymmetric KMS keys in the specified container. * */ items: AsymmetricKey[]; /** * This token allows you to get the next page of results for list requests. If the number * of results is greater than the specified [ListAsymmetricKeysRequest.page_size], use * the [next_page_token] as the value for the [ListAsymmetricKeysRequest.page_token] query parameter * in the next list request. Each subsequent list request will have its own * [next_page_token] to continue paging through the results. * */ nextPageToken: string; } /** Encodes, decodes, converts, and creates {@link ListAsymmetricKeysResponse} messages. */ export declare const ListAsymmetricKeysResponse: MessageFns; /** Represents the `nebius.kms.v1.DeleteAsymmetricKeyRequest` protobuf message. */ export interface DeleteAsymmetricKeyRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.DeleteAsymmetricKeyRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the asymmetric KMS key to schedule for deletion. * To get the ID of an asymmetric KMS key use an [AsymmetricKeyService.List] request. * */ id: string; } /** Encodes, decodes, converts, and creates {@link DeleteAsymmetricKeyRequest} messages. */ export declare const DeleteAsymmetricKeyRequest: MessageFns; /** Represents the `nebius.kms.v1.UpdateAsymmetricKeyDeletionDelayRequest` protobuf message. */ export interface UpdateAsymmetricKeyDeletionDelayRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.UpdateAsymmetricKeyDeletionDelayRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the asymmetric KMS key scheduled for deletion. * */ id: string; /** * Deletion delay applied from the update timestamp. * Example: "86400s" (1 day). Valid range: 86400s (1 day) to 2592000s (30 days). * */ deletionDelay?: Duration | undefined; } /** Encodes, decodes, converts, and creates {@link UpdateAsymmetricKeyDeletionDelayRequest} messages. */ export declare const UpdateAsymmetricKeyDeletionDelayRequest: MessageFns; /** Represents the `nebius.kms.v1.UndeleteAsymmetricKeyRequest` protobuf message. */ export interface UndeleteAsymmetricKeyRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.UndeleteAsymmetricKeyRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the asymmetric KMS key to restore. * */ id: string; /** * A new name in case the current one is already in use. * */ name: string; } /** Encodes, decodes, converts, and creates {@link UndeleteAsymmetricKeyRequest} messages. */ export declare const UndeleteAsymmetricKeyRequest: MessageFns; /** * Defines the gRPC methods for the `nebius.kms.v1.AsymmetricKeyService` service. */ export type AsymmetricKeyServiceServiceDescription = typeof AsymmetricKeyServiceServiceDescription; /** * Describes the gRPC methods for the `nebius.kms.v1.AsymmetricKeyService` service. */ export declare const AsymmetricKeyServiceServiceDescription: { readonly create: { readonly path: "/nebius.kms.v1.AsymmetricKeyService/Create"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: CreateAsymmetricKeyRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => CreateAsymmetricKeyRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; readonly update: { readonly path: "/nebius.kms.v1.AsymmetricKeyService/Update"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: UpdateAsymmetricKeyRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: true; readonly requestDeserialize: (value: Buffer) => UpdateAsymmetricKeyRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; readonly get: { readonly path: "/nebius.kms.v1.AsymmetricKeyService/Get"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: GetAsymmetricKeyRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => GetAsymmetricKeyRequest; readonly responseSerialize: (value: AsymmetricKey) => Buffer; readonly responseDeserialize: (value: Buffer) => AsymmetricKey; }; readonly getByName: { readonly path: "/nebius.kms.v1.AsymmetricKeyService/GetByName"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: GetAsymmetricKeyByNameRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => GetAsymmetricKeyByNameRequest; readonly responseSerialize: (value: AsymmetricKey) => Buffer; readonly responseDeserialize: (value: Buffer) => AsymmetricKey; }; readonly list: { readonly path: "/nebius.kms.v1.AsymmetricKeyService/List"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ListAsymmetricKeysRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => ListAsymmetricKeysRequest; readonly responseSerialize: (value: ListAsymmetricKeysResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => ListAsymmetricKeysResponse; }; readonly delete: { readonly path: "/nebius.kms.v1.AsymmetricKeyService/Delete"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: DeleteAsymmetricKeyRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => DeleteAsymmetricKeyRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; readonly updateDeletionDelay: { readonly path: "/nebius.kms.v1.AsymmetricKeyService/UpdateDeletionDelay"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: UpdateAsymmetricKeyDeletionDelayRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => UpdateAsymmetricKeyDeletionDelayRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; readonly undelete: { readonly path: "/nebius.kms.v1.AsymmetricKeyService/Undelete"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: UndeleteAsymmetricKeyRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => UndeleteAsymmetricKeyRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; }; /** * Handles server calls for the `nebius.kms.v1.AsymmetricKeyService` service. */ export interface AsymmetricKeyServiceServer extends UntypedServiceImplementation { /** * Creates an asymmetric KMS key in the specified container. * */ create: handleUnaryCall; /** * Updates an asymmetric KMS key. * */ update: handleUnaryCall; /** * Returns the specified asymmetric KMS key by id. * */ get: handleUnaryCall; /** * Returns the specified asymmetric KMS key by name. * */ getByName: handleUnaryCall; /** * Returns the list of asymmetric KMS keys in the specified container. * */ list: handleUnaryCall; /** * Schedules an asymmetric KMS key for deletion. * */ delete: handleUnaryCall; /** * Update deletion delay for an asymmetric KMS key scheduled for deletion. * */ updateDeletionDelay: handleUnaryCall; /** * Restores an asymmetric KMS key scheduled for deletion. * */ undelete: handleUnaryCall; } /** * Defines the low-level gRPC client for the `nebius.kms.v1.AsymmetricKeyService` service. */ export interface AsymmetricKeyServiceBaseClient extends Client { /** * Creates an asymmetric KMS key in the specified container. * */ create(request: CreateAsymmetricKeyRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: Operation) => void): ClientUnaryCall; /** * Updates an asymmetric KMS key. * */ update(request: UpdateAsymmetricKeyRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: Operation) => void): ClientUnaryCall; /** * Returns the specified asymmetric KMS key by id. * */ get(request: GetAsymmetricKeyRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: AsymmetricKey) => void): ClientUnaryCall; /** * Returns the specified asymmetric KMS key by name. * */ getByName(request: GetAsymmetricKeyByNameRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: AsymmetricKey) => void): ClientUnaryCall; /** * Returns the list of asymmetric KMS keys in the specified container. * */ list(request: ListAsymmetricKeysRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: ListAsymmetricKeysResponse) => void): ClientUnaryCall; /** * Schedules an asymmetric KMS key for deletion. * */ delete(request: DeleteAsymmetricKeyRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: Operation) => void): ClientUnaryCall; /** * Update deletion delay for an asymmetric KMS key scheduled for deletion. * */ updateDeletionDelay(request: UpdateAsymmetricKeyDeletionDelayRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: Operation) => void): ClientUnaryCall; /** * Restores an asymmetric KMS key scheduled for deletion. * */ undelete(request: UndeleteAsymmetricKeyRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: Operation) => void): ClientUnaryCall; } /** * Creates low-level gRPC clients for the `nebius.kms.v1.AsymmetricKeyService` service. */ export declare const AsymmetricKeyServiceBaseClient: { /** Creates a low-level client for the service address. */ new (address: string, credentials: ChannelCredentials, options?: Partial): AsymmetricKeyServiceBaseClient; /** Contains the gRPC service description. */ service: typeof AsymmetricKeyServiceServiceDescription; /** Contains the fully qualified protobuf service name. */ serviceName: string; }; /** * Set of methods for managing asymmetric keys. * */ export interface AsymmetricKeyService { /** Contains the fully qualified protobuf service name. */ $type: "nebius.kms.v1.AsymmetricKeyService"; /** * Creates an asymmetric KMS key in the specified container. * */ create(request: CreateAsymmetricKeyRequest): SDKRequestClass>; /** * Creates an asymmetric KMS key in the specified container. * */ create(request: CreateAsymmetricKeyRequest, metadata: Metadata): SDKRequestClass>; /** * Creates an asymmetric KMS key in the specified container. * */ create(request: CreateAsymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Updates an asymmetric KMS key. * */ update(request: UpdateAsymmetricKeyRequest): SDKRequestClass>; /** * Updates an asymmetric KMS key. * */ update(request: UpdateAsymmetricKeyRequest, metadata: Metadata): SDKRequestClass>; /** * Updates an asymmetric KMS key. * */ update(request: UpdateAsymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Returns the specified asymmetric KMS key by id. * */ get(request: GetAsymmetricKeyRequest): SDKRequestClass; /** * Returns the specified asymmetric KMS key by id. * */ get(request: GetAsymmetricKeyRequest, metadata: Metadata): SDKRequestClass; /** * Returns the specified asymmetric KMS key by id. * */ get(request: GetAsymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Returns the specified asymmetric KMS key by name. * */ getByName(request: GetAsymmetricKeyByNameRequest): SDKRequestClass; /** * Returns the specified asymmetric KMS key by name. * */ getByName(request: GetAsymmetricKeyByNameRequest, metadata: Metadata): SDKRequestClass; /** * Returns the specified asymmetric KMS key by name. * */ getByName(request: GetAsymmetricKeyByNameRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Returns the list of asymmetric KMS keys in the specified container. * */ list(request: ListAsymmetricKeysRequest): SDKRequestClass; /** * Returns the list of asymmetric KMS keys in the specified container. * */ list(request: ListAsymmetricKeysRequest, metadata: Metadata): SDKRequestClass; /** * Returns the list of asymmetric KMS keys in the specified container. * */ list(request: ListAsymmetricKeysRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Schedules an asymmetric KMS key for deletion. * */ delete(request: DeleteAsymmetricKeyRequest): SDKRequestClass>; /** * Schedules an asymmetric KMS key for deletion. * */ delete(request: DeleteAsymmetricKeyRequest, metadata: Metadata): SDKRequestClass>; /** * Schedules an asymmetric KMS key for deletion. * */ delete(request: DeleteAsymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Update deletion delay for an asymmetric KMS key scheduled for deletion. * */ updateDeletionDelay(request: UpdateAsymmetricKeyDeletionDelayRequest): SDKRequestClass>; /** * Update deletion delay for an asymmetric KMS key scheduled for deletion. * */ updateDeletionDelay(request: UpdateAsymmetricKeyDeletionDelayRequest, metadata: Metadata): SDKRequestClass>; /** * Update deletion delay for an asymmetric KMS key scheduled for deletion. * */ updateDeletionDelay(request: UpdateAsymmetricKeyDeletionDelayRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Restores an asymmetric KMS key scheduled for deletion. * */ undelete(request: UndeleteAsymmetricKeyRequest): SDKRequestClass>; /** * Restores an asymmetric KMS key scheduled for deletion. * */ undelete(request: UndeleteAsymmetricKeyRequest, metadata: Metadata): SDKRequestClass>; /** * Restores an asymmetric KMS key scheduled for deletion. * */ undelete(request: UndeleteAsymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; } /** * Calls the `nebius.kms.v1.AsymmetricKeyService` service through the Nebius SDK. */ export declare class AsymmetricKeyService implements AsymmetricKeyService { private sdk; $type: "nebius.kms.v1.AsymmetricKeyService"; private addr; private spec; private apiServiceName; /** Creates a client that uses the SDK service address. */ constructor(sdk: SDKInterface); /** Returns the operation service for this service address. */ getOperationService(): OperationService; /** * Creates an asymmetric KMS key in the specified container. * */ create(request: CreateAsymmetricKeyRequest): SDKRequestClass>; /** * Creates an asymmetric KMS key in the specified container. * */ create(request: CreateAsymmetricKeyRequest, metadata: Metadata): SDKRequestClass>; /** * Creates an asymmetric KMS key in the specified container. * */ create(request: CreateAsymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Updates an asymmetric KMS key. * */ update(request: UpdateAsymmetricKeyRequest): SDKRequestClass>; /** * Updates an asymmetric KMS key. * */ update(request: UpdateAsymmetricKeyRequest, metadata: Metadata): SDKRequestClass>; /** * Updates an asymmetric KMS key. * */ update(request: UpdateAsymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Returns the specified asymmetric KMS key by id. * */ get(request: GetAsymmetricKeyRequest): SDKRequestClass; /** * Returns the specified asymmetric KMS key by id. * */ get(request: GetAsymmetricKeyRequest, metadata: Metadata): SDKRequestClass; /** * Returns the specified asymmetric KMS key by id. * */ get(request: GetAsymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Returns the specified asymmetric KMS key by name. * */ getByName(request: GetAsymmetricKeyByNameRequest): SDKRequestClass; /** * Returns the specified asymmetric KMS key by name. * */ getByName(request: GetAsymmetricKeyByNameRequest, metadata: Metadata): SDKRequestClass; /** * Returns the specified asymmetric KMS key by name. * */ getByName(request: GetAsymmetricKeyByNameRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Returns the list of asymmetric KMS keys in the specified container. * */ list(request: ListAsymmetricKeysRequest): SDKRequestClass; /** * Returns the list of asymmetric KMS keys in the specified container. * */ list(request: ListAsymmetricKeysRequest, metadata: Metadata): SDKRequestClass; /** * Returns the list of asymmetric KMS keys in the specified container. * */ list(request: ListAsymmetricKeysRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Schedules an asymmetric KMS key for deletion. * */ delete(request: DeleteAsymmetricKeyRequest): SDKRequestClass>; /** * Schedules an asymmetric KMS key for deletion. * */ delete(request: DeleteAsymmetricKeyRequest, metadata: Metadata): SDKRequestClass>; /** * Schedules an asymmetric KMS key for deletion. * */ delete(request: DeleteAsymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Update deletion delay for an asymmetric KMS key scheduled for deletion. * */ updateDeletionDelay(request: UpdateAsymmetricKeyDeletionDelayRequest): SDKRequestClass>; /** * Update deletion delay for an asymmetric KMS key scheduled for deletion. * */ updateDeletionDelay(request: UpdateAsymmetricKeyDeletionDelayRequest, metadata: Metadata): SDKRequestClass>; /** * Update deletion delay for an asymmetric KMS key scheduled for deletion. * */ updateDeletionDelay(request: UpdateAsymmetricKeyDeletionDelayRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Restores an asymmetric KMS key scheduled for deletion. * */ undelete(request: UndeleteAsymmetricKeyRequest): SDKRequestClass>; /** * Restores an asymmetric KMS key scheduled for deletion. * */ undelete(request: UndeleteAsymmetricKeyRequest, metadata: Metadata): SDKRequestClass>; /** * Restores an asymmetric KMS key scheduled for deletion. * */ undelete(request: UndeleteAsymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; } /** * Supported asymmetric algorithms. * */ export type AsymmetricAlgorithm = EnumInstance<"UNRECOGNIZED" | "ASYMMETRIC_ALGORITHM_UNSPECIFIED" | "ECDSA_NIST_P256_SHA_256" | "ECDSA_NIST_P384_SHA_384" | "RSA_4096_ENC_OAEP_SHA_256">; /** Defines the static values of {@link AsymmetricAlgorithm}. */ export interface AsymmetricAlgorithmValueMembers { /** * Represents the `ASYMMETRIC_ALGORITHM_UNSPECIFIED` protobuf enum value. */ readonly ASYMMETRIC_ALGORITHM_UNSPECIFIED: EnumInstance<"UNRECOGNIZED" | "ASYMMETRIC_ALGORITHM_UNSPECIFIED" | "ECDSA_NIST_P256_SHA_256" | "ECDSA_NIST_P384_SHA_384" | "RSA_4096_ENC_OAEP_SHA_256">; /** * ECDSA signature with NIST P-256 curve and SHA-256 * */ readonly ECDSA_NIST_P256_SHA_256: EnumInstance<"UNRECOGNIZED" | "ASYMMETRIC_ALGORITHM_UNSPECIFIED" | "ECDSA_NIST_P256_SHA_256" | "ECDSA_NIST_P384_SHA_384" | "RSA_4096_ENC_OAEP_SHA_256">; /** * ECDSA signature with NIST P-384 curve and SHA-384 * */ readonly ECDSA_NIST_P384_SHA_384: EnumInstance<"UNRECOGNIZED" | "ASYMMETRIC_ALGORITHM_UNSPECIFIED" | "ECDSA_NIST_P256_SHA_256" | "ECDSA_NIST_P384_SHA_384" | "RSA_4096_ENC_OAEP_SHA_256">; /** * RSA encryption with RSA-4096 key, OAEP padding and SHA-256. * */ readonly RSA_4096_ENC_OAEP_SHA_256: EnumInstance<"UNRECOGNIZED" | "ASYMMETRIC_ALGORITHM_UNSPECIFIED" | "ECDSA_NIST_P256_SHA_256" | "ECDSA_NIST_P384_SHA_384" | "RSA_4096_ENC_OAEP_SHA_256">; } /** Defines the runtime API for {@link AsymmetricAlgorithm}. */ export type AsymmetricAlgorithmClass = EnumClass<"UNRECOGNIZED" | "ASYMMETRIC_ALGORITHM_UNSPECIFIED" | "ECDSA_NIST_P256_SHA_256" | "ECDSA_NIST_P384_SHA_384" | "RSA_4096_ENC_OAEP_SHA_256"> & AsymmetricAlgorithmValueMembers; /** Converts and creates {@link AsymmetricAlgorithm} values. */ export declare const AsymmetricAlgorithm: AsymmetricAlgorithmClass; /** * An asymmetric KMS key that may contain several versions of the cryptographic material. * */ export interface AsymmetricKey { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.AsymmetricKey"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** Contains the `metadata` protobuf field. */ metadata?: ResourceMetadata | undefined; /** * The specifications of the asymmetric key. * */ spec?: AsymmetricKeySpec | undefined; /** * The current status of the asymmetric key. * */ status?: AsymmetricKeyStatus | undefined; } /** Encodes, decodes, converts, and creates {@link AsymmetricKey} messages. */ export declare const AsymmetricKey: MessageFns; /** Represents the `nebius.kms.v1.AsymmetricKeySpec` protobuf message. */ export interface AsymmetricKeySpec { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.AsymmetricKeySpec"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * Description of the key. * */ description: string; /** * Cryptographic algorithm that should be used with the key. * Must be specified only during create operations. Cannot be updated. * */ algorithm: AsymmetricAlgorithm; } /** Encodes, decodes, converts, and creates {@link AsymmetricKeySpec} messages. */ export declare const AsymmetricKeySpec: MessageFns; /** Represents the `nebius.kms.v1.AsymmetricKeyStatus` protobuf message. */ export interface AsymmetricKeyStatus { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.AsymmetricKeyStatus"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * State (ACTIVE, SCHEDULED_FOR_DELETION) * */ state: KeyState; /** * Time when the key was scheduled for deletion. * */ deletedAt?: Dayjs | undefined; /** * Time when the key will be permanently deleted. * */ purgeAt?: Dayjs | undefined; } /** Encodes, decodes, converts, and creates {@link AsymmetricKeyStatus} messages. */ export declare const AsymmetricKeyStatus: MessageFns; /** * Key state * */ export type KeyState = EnumInstance<"UNRECOGNIZED" | "KEY_STATE_UNSPECIFIED" | "ACTIVE" | "SCHEDULED_FOR_DELETION">; /** Defines the static values of {@link KeyState}. */ export interface KeyStateValueMembers { /** * Represents the `KEY_STATE_UNSPECIFIED` protobuf enum value. */ readonly KEY_STATE_UNSPECIFIED: EnumInstance<"UNRECOGNIZED" | "KEY_STATE_UNSPECIFIED" | "ACTIVE" | "SCHEDULED_FOR_DELETION">; /** * Key is active, ready for use * */ readonly ACTIVE: EnumInstance<"UNRECOGNIZED" | "KEY_STATE_UNSPECIFIED" | "ACTIVE" | "SCHEDULED_FOR_DELETION">; /** * Key is scheduled for deletion. * */ readonly SCHEDULED_FOR_DELETION: EnumInstance<"UNRECOGNIZED" | "KEY_STATE_UNSPECIFIED" | "ACTIVE" | "SCHEDULED_FOR_DELETION">; } /** Defines the runtime API for {@link KeyState}. */ export type KeyStateClass = EnumClass<"UNRECOGNIZED" | "KEY_STATE_UNSPECIFIED" | "ACTIVE" | "SCHEDULED_FOR_DELETION"> & KeyStateValueMembers; /** Converts and creates {@link KeyState} values. */ export declare const KeyState: KeyStateClass; /** Represents the `nebius.kms.v1.SymmetricEncryptRequest` protobuf message. */ export interface SymmetricEncryptRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.SymmetricEncryptRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the symmetric KMS key to use for encryption. * */ keyId: string; /** * Additional authenticated data (AAD context), optional. * If specified, this data will be required for decryption with the [SymmetricDecryptRequest]. * Should be encoded with base64. * */ aadContext: Uint8Array; /** * Plaintext to be encrypted. * Should be encoded with base64. * */ plaintext: Uint8Array; } /** Encodes, decodes, converts, and creates {@link SymmetricEncryptRequest} messages. */ export declare const SymmetricEncryptRequest: MessageFns; /** Represents the `nebius.kms.v1.SymmetricEncryptResponse` protobuf message. */ export interface SymmetricEncryptResponse { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.SymmetricEncryptResponse"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the symmetric KMS key that was used for encryption. * */ keyId: string; /** * Resulting ciphertext. * */ ciphertext: Uint8Array; } /** Encodes, decodes, converts, and creates {@link SymmetricEncryptResponse} messages. */ export declare const SymmetricEncryptResponse: MessageFns; /** Represents the `nebius.kms.v1.SymmetricDecryptRequest` protobuf message. */ export interface SymmetricDecryptRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.SymmetricDecryptRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the symmetric KMS key to use for decryption. * */ keyId: string; /** * Additional authenticated data, must be the same as was provided * in the corresponding [SymmetricEncryptRequest]. * Should be encoded with base64. * */ aadContext: Uint8Array; /** * Ciphertext to be decrypted. * Should be encoded with base64. * */ ciphertext: Uint8Array; } /** Encodes, decodes, converts, and creates {@link SymmetricDecryptRequest} messages. */ export declare const SymmetricDecryptRequest: MessageFns; /** Represents the `nebius.kms.v1.SymmetricDecryptResponse` protobuf message. */ export interface SymmetricDecryptResponse { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.SymmetricDecryptResponse"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the symmetric KMS key that was used for decryption. * */ keyId: string; /** * Decrypted plaintext. * */ plaintext: Uint8Array; } /** Encodes, decodes, converts, and creates {@link SymmetricDecryptResponse} messages. */ export declare const SymmetricDecryptResponse: MessageFns; /** Represents the `nebius.kms.v1.GenerateDataKeyRequest` protobuf message. */ export interface GenerateDataKeyRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.GenerateDataKeyRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the symmetric KMS key that the generated data key should be encrypted with. * */ keyId: string; /** * Additional authenticated data (AAD context), optional. * If specified, this data will be required for decryption with the [SymmetricDecryptRequest]. * Should be encoded with base64. * */ aadContext: Uint8Array; /** * Encryption algorithm and key length for the generated data key. * */ dataKeySpec: SymmetricAlgorithm; /** * If `true`, the method won't return the data key as plaintext. * Default value is `false`. * */ skipPlaintext: boolean; } /** Encodes, decodes, converts, and creates {@link GenerateDataKeyRequest} messages. */ export declare const GenerateDataKeyRequest: MessageFns; /** Represents the `nebius.kms.v1.GenerateDataKeyResponse` protobuf message. */ export interface GenerateDataKeyResponse { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.GenerateDataKeyResponse"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the symmetric KMS key that was used to encrypt the generated data key. * */ keyId: string; /** * Generated data key as plaintext. * The field is empty, if the [GenerateDataKeyRequest.skip_plaintext] parameter * was set to `true`. * */ dataKeyPlaintext: Uint8Array; /** * The encrypted data key. * */ dataKeyCiphertext: Uint8Array; } /** Encodes, decodes, converts, and creates {@link GenerateDataKeyResponse} messages. */ export declare const GenerateDataKeyResponse: MessageFns; /** * Defines the gRPC methods for the `nebius.kms.v1.SymmetricCryptoService` service. */ export type SymmetricCryptoServiceServiceDescription = typeof SymmetricCryptoServiceServiceDescription; /** * Describes the gRPC methods for the `nebius.kms.v1.SymmetricCryptoService` service. */ export declare const SymmetricCryptoServiceServiceDescription: { readonly encrypt: { readonly path: "/nebius.kms.v1.SymmetricCryptoService/Encrypt"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: SymmetricEncryptRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => SymmetricEncryptRequest; readonly responseSerialize: (value: SymmetricEncryptResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => SymmetricEncryptResponse; }; readonly decrypt: { readonly path: "/nebius.kms.v1.SymmetricCryptoService/Decrypt"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: SymmetricDecryptRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => SymmetricDecryptRequest; readonly responseSerialize: (value: SymmetricDecryptResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => SymmetricDecryptResponse; }; readonly generateDataKey: { readonly path: "/nebius.kms.v1.SymmetricCryptoService/GenerateDataKey"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: GenerateDataKeyRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => GenerateDataKeyRequest; readonly responseSerialize: (value: GenerateDataKeyResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => GenerateDataKeyResponse; }; }; /** * Handles server calls for the `nebius.kms.v1.SymmetricCryptoService` service. */ export interface SymmetricCryptoServiceServer extends UntypedServiceImplementation { /** * Encrypts given plaintext with the specified key. * */ encrypt: handleUnaryCall; /** * Decrypts the given ciphertext with the specified key. * */ decrypt: handleUnaryCall; /** * Generates a new symmetric data encryption key (not a KMS key) and returns * the generated key as plaintext and as ciphertext encrypted with the specified symmetric KMS key. * */ generateDataKey: handleUnaryCall; } /** * Defines the low-level gRPC client for the `nebius.kms.v1.SymmetricCryptoService` service. */ export interface SymmetricCryptoServiceBaseClient extends Client { /** * Encrypts given plaintext with the specified key. * */ encrypt(request: SymmetricEncryptRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: SymmetricEncryptResponse) => void): ClientUnaryCall; /** * Decrypts the given ciphertext with the specified key. * */ decrypt(request: SymmetricDecryptRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: SymmetricDecryptResponse) => void): ClientUnaryCall; /** * Generates a new symmetric data encryption key (not a KMS key) and returns * the generated key as plaintext and as ciphertext encrypted with the specified symmetric KMS key. * */ generateDataKey(request: GenerateDataKeyRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: GenerateDataKeyResponse) => void): ClientUnaryCall; } /** * Creates low-level gRPC clients for the `nebius.kms.v1.SymmetricCryptoService` service. */ export declare const SymmetricCryptoServiceBaseClient: { /** Creates a low-level client for the service address. */ new (address: string, credentials: ChannelCredentials, options?: Partial): SymmetricCryptoServiceBaseClient; /** Contains the gRPC service description. */ service: typeof SymmetricCryptoServiceServiceDescription; /** Contains the fully qualified protobuf service name. */ serviceName: string; }; /** * --- Data plane for KMS symmetric cryptography operations * * * Set of methods that perform symmetric encryption and decryption. * */ export interface SymmetricCryptoService { /** Contains the fully qualified protobuf service name. */ $type: "nebius.kms.v1.SymmetricCryptoService"; /** * Encrypts given plaintext with the specified key. * */ encrypt(request: SymmetricEncryptRequest): SDKRequestClass; /** * Encrypts given plaintext with the specified key. * */ encrypt(request: SymmetricEncryptRequest, metadata: Metadata): SDKRequestClass; /** * Encrypts given plaintext with the specified key. * */ encrypt(request: SymmetricEncryptRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Decrypts the given ciphertext with the specified key. * */ decrypt(request: SymmetricDecryptRequest): SDKRequestClass; /** * Decrypts the given ciphertext with the specified key. * */ decrypt(request: SymmetricDecryptRequest, metadata: Metadata): SDKRequestClass; /** * Decrypts the given ciphertext with the specified key. * */ decrypt(request: SymmetricDecryptRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Generates a new symmetric data encryption key (not a KMS key) and returns * the generated key as plaintext and as ciphertext encrypted with the specified symmetric KMS key. * */ generateDataKey(request: GenerateDataKeyRequest): SDKRequestClass; /** * Generates a new symmetric data encryption key (not a KMS key) and returns * the generated key as plaintext and as ciphertext encrypted with the specified symmetric KMS key. * */ generateDataKey(request: GenerateDataKeyRequest, metadata: Metadata): SDKRequestClass; /** * Generates a new symmetric data encryption key (not a KMS key) and returns * the generated key as plaintext and as ciphertext encrypted with the specified symmetric KMS key. * */ generateDataKey(request: GenerateDataKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; } /** * Calls the `nebius.kms.v1.SymmetricCryptoService` service through the Nebius SDK. */ export declare class SymmetricCryptoService implements SymmetricCryptoService { private sdk; $type: "nebius.kms.v1.SymmetricCryptoService"; private addr; private spec; private apiServiceName; /** Creates a client that uses the SDK service address. */ constructor(sdk: SDKInterface); /** * Encrypts given plaintext with the specified key. * */ encrypt(request: SymmetricEncryptRequest): SDKRequestClass; /** * Encrypts given plaintext with the specified key. * */ encrypt(request: SymmetricEncryptRequest, metadata: Metadata): SDKRequestClass; /** * Encrypts given plaintext with the specified key. * */ encrypt(request: SymmetricEncryptRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Decrypts the given ciphertext with the specified key. * */ decrypt(request: SymmetricDecryptRequest): SDKRequestClass; /** * Decrypts the given ciphertext with the specified key. * */ decrypt(request: SymmetricDecryptRequest, metadata: Metadata): SDKRequestClass; /** * Decrypts the given ciphertext with the specified key. * */ decrypt(request: SymmetricDecryptRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Generates a new symmetric data encryption key (not a KMS key) and returns * the generated key as plaintext and as ciphertext encrypted with the specified symmetric KMS key. * */ generateDataKey(request: GenerateDataKeyRequest): SDKRequestClass; /** * Generates a new symmetric data encryption key (not a KMS key) and returns * the generated key as plaintext and as ciphertext encrypted with the specified symmetric KMS key. * */ generateDataKey(request: GenerateDataKeyRequest, metadata: Metadata): SDKRequestClass; /** * Generates a new symmetric data encryption key (not a KMS key) and returns * the generated key as plaintext and as ciphertext encrypted with the specified symmetric KMS key. * */ generateDataKey(request: GenerateDataKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; } /** Represents the `nebius.kms.v1.CreateSymmetricKeyRequest` protobuf message. */ export interface CreateSymmetricKeyRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.CreateSymmetricKeyRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** Contains the `metadata` protobuf field. */ metadata?: ResourceMetadata | undefined; /** Contains the `spec` protobuf field. */ spec?: SymmetricKeySpec | undefined; } /** Encodes, decodes, converts, and creates {@link CreateSymmetricKeyRequest} messages. */ export declare const CreateSymmetricKeyRequest: MessageFns; /** Represents the `nebius.kms.v1.UpdateSymmetricKeyRequest` protobuf message. */ export interface UpdateSymmetricKeyRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.UpdateSymmetricKeyRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * The metadata for the resource. * */ metadata?: ResourceMetadata | undefined; /** * The specifications for updating a symmetric key. * */ spec?: SymmetricKeySpec | undefined; } /** Encodes, decodes, converts, and creates {@link UpdateSymmetricKeyRequest} messages. */ export declare const UpdateSymmetricKeyRequest: MessageFns; /** Represents the `nebius.kms.v1.GetSymmetricKeyRequest` protobuf message. */ export interface GetSymmetricKeyRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.GetSymmetricKeyRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the symmetric KMS key to return. * To get the ID of a symmetric KMS key use a [SymmetricKeyService.List] request. * */ id: string; /** * By default, Get doesn't return resource if it is scheduled for deletion. * If show_scheduled_for_deletion = true, the Get operation returns the resource even if it is scheduled for deletion. * If show_scheduled_for_deletion = false, the Get method returns the NOT_FOUND gRPC status code. * */ showScheduledForDeletion: boolean; } /** Encodes, decodes, converts, and creates {@link GetSymmetricKeyRequest} messages. */ export declare const GetSymmetricKeyRequest: MessageFns; /** Represents the `nebius.kms.v1.GetSymmetricKeyByNameRequest` protobuf message. */ export interface GetSymmetricKeyByNameRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.GetSymmetricKeyByNameRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ParentId and name of the symmetric KMS key to return. * To get the name of a symmetric KMS key use a [SymmetricKeyService.List] request. * */ parentId: string; /** Contains the `name` protobuf field. */ name: string; } /** Encodes, decodes, converts, and creates {@link GetSymmetricKeyByNameRequest} messages. */ export declare const GetSymmetricKeyByNameRequest: MessageFns; /** Represents the `nebius.kms.v1.ListSymmetricKeysRequest` protobuf message. */ export interface ListSymmetricKeysRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.ListSymmetricKeysRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** Contains the `parent_id` protobuf field. */ parentId: string; /** * The maximum number of results per page to return. If the number of available * results is larger than [page_size], the service returns a [ListSymmetricKeysResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. * Default value: 100. * */ pageSize: Long; /** * Page token. To get the next page of results, set [page_token] to the * [ListSymmetricKeysResponse.next_page_token] returned by a previous list request. * */ pageToken: string; /** * By default, List operation doesn't include resources that are scheduled for deletion. * If show_scheduled_for_deletion = true, the listing includes resources that are scheduled for deletion. * */ showScheduledForDeletion: boolean; } /** Encodes, decodes, converts, and creates {@link ListSymmetricKeysRequest} messages. */ export declare const ListSymmetricKeysRequest: MessageFns; /** Represents the `nebius.kms.v1.ListSymmetricKeysResponse` protobuf message. */ export interface ListSymmetricKeysResponse { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.ListSymmetricKeysResponse"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * List of symmetric KMS keys in the specified container. * */ items: SymmetricKey[]; /** * This token allows you to get the next page of results for list requests. If the number * of results is greater than the specified [ListSymmetricKeysRequest.page_size], use * the [next_page_token] as the value for the [ListSymmetricKeysRequest.page_token] query parameter * in the next list request. Each subsequent list request will have its own * [next_page_token] to continue paging through the results. * */ nextPageToken: string; } /** Encodes, decodes, converts, and creates {@link ListSymmetricKeysResponse} messages. */ export declare const ListSymmetricKeysResponse: MessageFns; /** Represents the `nebius.kms.v1.RotateSymmetricKeyRequest` protobuf message. */ export interface RotateSymmetricKeyRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.RotateSymmetricKeyRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the key to be rotated. * */ id: string; } /** Encodes, decodes, converts, and creates {@link RotateSymmetricKeyRequest} messages. */ export declare const RotateSymmetricKeyRequest: MessageFns; /** Represents the `nebius.kms.v1.DeleteSymmetricKeyRequest` protobuf message. */ export interface DeleteSymmetricKeyRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.DeleteSymmetricKeyRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the symmetric KMS key to schedule for deletion. * To get the ID of a symmetric KMS key use a [SymmetricKeyService.List] request. * */ id: string; } /** Encodes, decodes, converts, and creates {@link DeleteSymmetricKeyRequest} messages. */ export declare const DeleteSymmetricKeyRequest: MessageFns; /** Represents the `nebius.kms.v1.UpdateSymmetricKeyDeletionDelayRequest` protobuf message. */ export interface UpdateSymmetricKeyDeletionDelayRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.UpdateSymmetricKeyDeletionDelayRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the symmetric KMS key scheduled for deletion. * */ id: string; /** * Deletion delay applied from the update timestamp. * Example: "86400s" (1 day). Valid range: 86400s (1 day) to 2592000s (30 days). * */ deletionDelay?: Duration | undefined; } /** Encodes, decodes, converts, and creates {@link UpdateSymmetricKeyDeletionDelayRequest} messages. */ export declare const UpdateSymmetricKeyDeletionDelayRequest: MessageFns; /** Represents the `nebius.kms.v1.UndeleteSymmetricKeyRequest` protobuf message. */ export interface UndeleteSymmetricKeyRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.UndeleteSymmetricKeyRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * ID of the symmetric KMS key to restore. * */ id: string; /** * A new name in case the current one is already in use. * */ name: string; } /** Encodes, decodes, converts, and creates {@link UndeleteSymmetricKeyRequest} messages. */ export declare const UndeleteSymmetricKeyRequest: MessageFns; /** * Defines the gRPC methods for the `nebius.kms.v1.SymmetricKeyService` service. */ export type SymmetricKeyServiceServiceDescription = typeof SymmetricKeyServiceServiceDescription; /** * Describes the gRPC methods for the `nebius.kms.v1.SymmetricKeyService` service. */ export declare const SymmetricKeyServiceServiceDescription: { readonly create: { readonly path: "/nebius.kms.v1.SymmetricKeyService/Create"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: CreateSymmetricKeyRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => CreateSymmetricKeyRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; readonly update: { readonly path: "/nebius.kms.v1.SymmetricKeyService/Update"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: UpdateSymmetricKeyRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: true; readonly requestDeserialize: (value: Buffer) => UpdateSymmetricKeyRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; readonly rotate: { readonly path: "/nebius.kms.v1.SymmetricKeyService/Rotate"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: RotateSymmetricKeyRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => RotateSymmetricKeyRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; readonly get: { readonly path: "/nebius.kms.v1.SymmetricKeyService/Get"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: GetSymmetricKeyRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => GetSymmetricKeyRequest; readonly responseSerialize: (value: SymmetricKey) => Buffer; readonly responseDeserialize: (value: Buffer) => SymmetricKey; }; readonly getByName: { readonly path: "/nebius.kms.v1.SymmetricKeyService/GetByName"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: GetSymmetricKeyByNameRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => GetSymmetricKeyByNameRequest; readonly responseSerialize: (value: SymmetricKey) => Buffer; readonly responseDeserialize: (value: Buffer) => SymmetricKey; }; readonly list: { readonly path: "/nebius.kms.v1.SymmetricKeyService/List"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ListSymmetricKeysRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => ListSymmetricKeysRequest; readonly responseSerialize: (value: ListSymmetricKeysResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => ListSymmetricKeysResponse; }; readonly delete: { readonly path: "/nebius.kms.v1.SymmetricKeyService/Delete"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: DeleteSymmetricKeyRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => DeleteSymmetricKeyRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; readonly updateDeletionDelay: { readonly path: "/nebius.kms.v1.SymmetricKeyService/UpdateDeletionDelay"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: UpdateSymmetricKeyDeletionDelayRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => UpdateSymmetricKeyDeletionDelayRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; readonly undelete: { readonly path: "/nebius.kms.v1.SymmetricKeyService/Undelete"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: UndeleteSymmetricKeyRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => UndeleteSymmetricKeyRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; }; /** * Handles server calls for the `nebius.kms.v1.SymmetricKeyService` service. */ export interface SymmetricKeyServiceServer extends UntypedServiceImplementation { /** * Creates a symmetric KMS key in the specified container. * */ create: handleUnaryCall; /** * Updates a symmetric KMS key. * */ update: handleUnaryCall; /** * Rotates the specified key: creates a new key version and makes it the primary version. * The old version remains available for decryption of ciphertext encrypted with it. * */ rotate: handleUnaryCall; /** * Returns the specified symmetric KMS key by id. * */ get: handleUnaryCall; /** * Returns the specified symmetric KMS key by name. * */ getByName: handleUnaryCall; /** * Returns the list of symmetric KMS keys in the specified container. * */ list: handleUnaryCall; /** * Schedules a symmetric KMS key for deletion. * */ delete: handleUnaryCall; /** * Update deletion delay for a symmetric KMS key scheduled for deletion. * */ updateDeletionDelay: handleUnaryCall; /** * Restores a symmetric KMS key scheduled for deletion. * */ undelete: handleUnaryCall; } /** * Defines the low-level gRPC client for the `nebius.kms.v1.SymmetricKeyService` service. */ export interface SymmetricKeyServiceBaseClient extends Client { /** * Creates a symmetric KMS key in the specified container. * */ create(request: CreateSymmetricKeyRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: Operation) => void): ClientUnaryCall; /** * Updates a symmetric KMS key. * */ update(request: UpdateSymmetricKeyRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: Operation) => void): ClientUnaryCall; /** * Rotates the specified key: creates a new key version and makes it the primary version. * The old version remains available for decryption of ciphertext encrypted with it. * */ rotate(request: RotateSymmetricKeyRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: Operation) => void): ClientUnaryCall; /** * Returns the specified symmetric KMS key by id. * */ get(request: GetSymmetricKeyRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: SymmetricKey) => void): ClientUnaryCall; /** * Returns the specified symmetric KMS key by name. * */ getByName(request: GetSymmetricKeyByNameRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: SymmetricKey) => void): ClientUnaryCall; /** * Returns the list of symmetric KMS keys in the specified container. * */ list(request: ListSymmetricKeysRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: ListSymmetricKeysResponse) => void): ClientUnaryCall; /** * Schedules a symmetric KMS key for deletion. * */ delete(request: DeleteSymmetricKeyRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: Operation) => void): ClientUnaryCall; /** * Update deletion delay for a symmetric KMS key scheduled for deletion. * */ updateDeletionDelay(request: UpdateSymmetricKeyDeletionDelayRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: Operation) => void): ClientUnaryCall; /** * Restores a symmetric KMS key scheduled for deletion. * */ undelete(request: UndeleteSymmetricKeyRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: Operation) => void): ClientUnaryCall; } /** * Creates low-level gRPC clients for the `nebius.kms.v1.SymmetricKeyService` service. */ export declare const SymmetricKeyServiceBaseClient: { /** Creates a low-level client for the service address. */ new (address: string, credentials: ChannelCredentials, options?: Partial): SymmetricKeyServiceBaseClient; /** Contains the gRPC service description. */ service: typeof SymmetricKeyServiceServiceDescription; /** Contains the fully qualified protobuf service name. */ serviceName: string; }; /** * Set of methods for managing symmetric KMS keys. * */ export interface SymmetricKeyService { /** Contains the fully qualified protobuf service name. */ $type: "nebius.kms.v1.SymmetricKeyService"; /** * Creates a symmetric KMS key in the specified container. * */ create(request: CreateSymmetricKeyRequest): SDKRequestClass>; /** * Creates a symmetric KMS key in the specified container. * */ create(request: CreateSymmetricKeyRequest, metadata: Metadata): SDKRequestClass>; /** * Creates a symmetric KMS key in the specified container. * */ create(request: CreateSymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Updates a symmetric KMS key. * */ update(request: UpdateSymmetricKeyRequest): SDKRequestClass>; /** * Updates a symmetric KMS key. * */ update(request: UpdateSymmetricKeyRequest, metadata: Metadata): SDKRequestClass>; /** * Updates a symmetric KMS key. * */ update(request: UpdateSymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Rotates the specified key: creates a new key version and makes it the primary version. * The old version remains available for decryption of ciphertext encrypted with it. * */ rotate(request: RotateSymmetricKeyRequest): SDKRequestClass>; /** * Rotates the specified key: creates a new key version and makes it the primary version. * The old version remains available for decryption of ciphertext encrypted with it. * */ rotate(request: RotateSymmetricKeyRequest, metadata: Metadata): SDKRequestClass>; /** * Rotates the specified key: creates a new key version and makes it the primary version. * The old version remains available for decryption of ciphertext encrypted with it. * */ rotate(request: RotateSymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Returns the specified symmetric KMS key by id. * */ get(request: GetSymmetricKeyRequest): SDKRequestClass; /** * Returns the specified symmetric KMS key by id. * */ get(request: GetSymmetricKeyRequest, metadata: Metadata): SDKRequestClass; /** * Returns the specified symmetric KMS key by id. * */ get(request: GetSymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Returns the specified symmetric KMS key by name. * */ getByName(request: GetSymmetricKeyByNameRequest): SDKRequestClass; /** * Returns the specified symmetric KMS key by name. * */ getByName(request: GetSymmetricKeyByNameRequest, metadata: Metadata): SDKRequestClass; /** * Returns the specified symmetric KMS key by name. * */ getByName(request: GetSymmetricKeyByNameRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Returns the list of symmetric KMS keys in the specified container. * */ list(request: ListSymmetricKeysRequest): SDKRequestClass; /** * Returns the list of symmetric KMS keys in the specified container. * */ list(request: ListSymmetricKeysRequest, metadata: Metadata): SDKRequestClass; /** * Returns the list of symmetric KMS keys in the specified container. * */ list(request: ListSymmetricKeysRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Schedules a symmetric KMS key for deletion. * */ delete(request: DeleteSymmetricKeyRequest): SDKRequestClass>; /** * Schedules a symmetric KMS key for deletion. * */ delete(request: DeleteSymmetricKeyRequest, metadata: Metadata): SDKRequestClass>; /** * Schedules a symmetric KMS key for deletion. * */ delete(request: DeleteSymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Update deletion delay for a symmetric KMS key scheduled for deletion. * */ updateDeletionDelay(request: UpdateSymmetricKeyDeletionDelayRequest): SDKRequestClass>; /** * Update deletion delay for a symmetric KMS key scheduled for deletion. * */ updateDeletionDelay(request: UpdateSymmetricKeyDeletionDelayRequest, metadata: Metadata): SDKRequestClass>; /** * Update deletion delay for a symmetric KMS key scheduled for deletion. * */ updateDeletionDelay(request: UpdateSymmetricKeyDeletionDelayRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Restores a symmetric KMS key scheduled for deletion. * */ undelete(request: UndeleteSymmetricKeyRequest): SDKRequestClass>; /** * Restores a symmetric KMS key scheduled for deletion. * */ undelete(request: UndeleteSymmetricKeyRequest, metadata: Metadata): SDKRequestClass>; /** * Restores a symmetric KMS key scheduled for deletion. * */ undelete(request: UndeleteSymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; } /** * Calls the `nebius.kms.v1.SymmetricKeyService` service through the Nebius SDK. */ export declare class SymmetricKeyService implements SymmetricKeyService { private sdk; $type: "nebius.kms.v1.SymmetricKeyService"; private addr; private spec; private apiServiceName; /** Creates a client that uses the SDK service address. */ constructor(sdk: SDKInterface); /** Returns the operation service for this service address. */ getOperationService(): OperationService; /** * Creates a symmetric KMS key in the specified container. * */ create(request: CreateSymmetricKeyRequest): SDKRequestClass>; /** * Creates a symmetric KMS key in the specified container. * */ create(request: CreateSymmetricKeyRequest, metadata: Metadata): SDKRequestClass>; /** * Creates a symmetric KMS key in the specified container. * */ create(request: CreateSymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Updates a symmetric KMS key. * */ update(request: UpdateSymmetricKeyRequest): SDKRequestClass>; /** * Updates a symmetric KMS key. * */ update(request: UpdateSymmetricKeyRequest, metadata: Metadata): SDKRequestClass>; /** * Updates a symmetric KMS key. * */ update(request: UpdateSymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Rotates the specified key: creates a new key version and makes it the primary version. * The old version remains available for decryption of ciphertext encrypted with it. * */ rotate(request: RotateSymmetricKeyRequest): SDKRequestClass>; /** * Rotates the specified key: creates a new key version and makes it the primary version. * The old version remains available for decryption of ciphertext encrypted with it. * */ rotate(request: RotateSymmetricKeyRequest, metadata: Metadata): SDKRequestClass>; /** * Rotates the specified key: creates a new key version and makes it the primary version. * The old version remains available for decryption of ciphertext encrypted with it. * */ rotate(request: RotateSymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Returns the specified symmetric KMS key by id. * */ get(request: GetSymmetricKeyRequest): SDKRequestClass; /** * Returns the specified symmetric KMS key by id. * */ get(request: GetSymmetricKeyRequest, metadata: Metadata): SDKRequestClass; /** * Returns the specified symmetric KMS key by id. * */ get(request: GetSymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Returns the specified symmetric KMS key by name. * */ getByName(request: GetSymmetricKeyByNameRequest): SDKRequestClass; /** * Returns the specified symmetric KMS key by name. * */ getByName(request: GetSymmetricKeyByNameRequest, metadata: Metadata): SDKRequestClass; /** * Returns the specified symmetric KMS key by name. * */ getByName(request: GetSymmetricKeyByNameRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Returns the list of symmetric KMS keys in the specified container. * */ list(request: ListSymmetricKeysRequest): SDKRequestClass; /** * Returns the list of symmetric KMS keys in the specified container. * */ list(request: ListSymmetricKeysRequest, metadata: Metadata): SDKRequestClass; /** * Returns the list of symmetric KMS keys in the specified container. * */ list(request: ListSymmetricKeysRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Schedules a symmetric KMS key for deletion. * */ delete(request: DeleteSymmetricKeyRequest): SDKRequestClass>; /** * Schedules a symmetric KMS key for deletion. * */ delete(request: DeleteSymmetricKeyRequest, metadata: Metadata): SDKRequestClass>; /** * Schedules a symmetric KMS key for deletion. * */ delete(request: DeleteSymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Update deletion delay for a symmetric KMS key scheduled for deletion. * */ updateDeletionDelay(request: UpdateSymmetricKeyDeletionDelayRequest): SDKRequestClass>; /** * Update deletion delay for a symmetric KMS key scheduled for deletion. * */ updateDeletionDelay(request: UpdateSymmetricKeyDeletionDelayRequest, metadata: Metadata): SDKRequestClass>; /** * Update deletion delay for a symmetric KMS key scheduled for deletion. * */ updateDeletionDelay(request: UpdateSymmetricKeyDeletionDelayRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Restores a symmetric KMS key scheduled for deletion. * */ undelete(request: UndeleteSymmetricKeyRequest): SDKRequestClass>; /** * Restores a symmetric KMS key scheduled for deletion. * */ undelete(request: UndeleteSymmetricKeyRequest, metadata: Metadata): SDKRequestClass>; /** * Restores a symmetric KMS key scheduled for deletion. * */ undelete(request: UndeleteSymmetricKeyRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; } /** * Supported symmetric encryption algorithms. * */ export type SymmetricAlgorithm = EnumInstance<"UNRECOGNIZED" | "SYMMETRIC_ALGORITHM_UNSPECIFIED" | "AES_128" | "AES_256">; /** Defines the static values of {@link SymmetricAlgorithm}. */ export interface SymmetricAlgorithmValueMembers { /** * Represents the `SYMMETRIC_ALGORITHM_UNSPECIFIED` protobuf enum value. */ readonly SYMMETRIC_ALGORITHM_UNSPECIFIED: EnumInstance<"UNRECOGNIZED" | "SYMMETRIC_ALGORITHM_UNSPECIFIED" | "AES_128" | "AES_256">; /** * Deprecated. It is impossible to create new keys with this algorithm. * AES algorithm with 128-bit keys. * */ readonly AES_128: EnumInstance<"UNRECOGNIZED" | "SYMMETRIC_ALGORITHM_UNSPECIFIED" | "AES_128" | "AES_256">; /** * AES algorithm with 256-bit keys. * */ readonly AES_256: EnumInstance<"UNRECOGNIZED" | "SYMMETRIC_ALGORITHM_UNSPECIFIED" | "AES_128" | "AES_256">; } /** Defines the runtime API for {@link SymmetricAlgorithm}. */ export type SymmetricAlgorithmClass = EnumClass<"UNRECOGNIZED" | "SYMMETRIC_ALGORITHM_UNSPECIFIED" | "AES_128" | "AES_256"> & SymmetricAlgorithmValueMembers; /** Converts and creates {@link SymmetricAlgorithm} values. */ export declare const SymmetricAlgorithm: SymmetricAlgorithmClass; /** * A symmetric KMS key. * */ export interface SymmetricKey { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.SymmetricKey"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** Contains the `metadata` protobuf field. */ metadata?: ResourceMetadata | undefined; /** * The specifications of the symmetric key. * */ spec?: SymmetricKeySpec | undefined; /** * The current status of the symmetric key. * */ status?: SymmetricKeyStatus | undefined; } /** Encodes, decodes, converts, and creates {@link SymmetricKey} messages. */ export declare const SymmetricKey: MessageFns; /** Represents the `nebius.kms.v1.SymmetricKeySpec` protobuf message. */ export interface SymmetricKeySpec { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.SymmetricKeySpec"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * Description of the key. * */ description: string; /** * Encryption algorithm that should be used when using the key to encrypt plaintext. * Must be specified only during create operations. Cannot be updated. * */ algorithm: SymmetricAlgorithm; /** * Key rotation period. * */ rotationPeriod?: Duration | undefined; } /** Encodes, decodes, converts, and creates {@link SymmetricKeySpec} messages. */ export declare const SymmetricKeySpec: MessageFns; /** Represents the `nebius.kms.v1.SymmetricKeyStatus` protobuf message. */ export interface SymmetricKeyStatus { /** Contains the fully qualified protobuf type name. */ $type: "nebius.kms.v1.SymmetricKeyStatus"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * State (ACTIVE, SCHEDULED_FOR_DELETION). * */ state: KeyState; /** * Time when the key was scheduled for deletion. * */ deletedAt?: Dayjs | undefined; /** * Time when the key will be permanently deleted. * */ purgeAt?: Dayjs | undefined; } /** Encodes, decodes, converts, and creates {@link SymmetricKeyStatus} messages. */ export declare const SymmetricKeyStatus: MessageFns; //# sourceMappingURL=index.d.ts.map