import type { EncryptionSettings } from "./EncryptionSettings.js"; import type { Database, ItemDefinition } from "../client/index.js"; import type { PartitionKeyInternal } from "../documents/index.js"; import type { TypeMarker } from "./enums/TypeMarker.js"; import type { ClientContext } from "../ClientContext.js"; import type { EncryptionManager } from "./EncryptionManager.js"; import type { JSONValue } from "../queryExecutionContext/index.js"; export declare class EncryptionProcessor { private readonly containerId; containerRid: string; private readonly database; private readonly clientContext; private encryptionManager; constructor(containerId: string, containerRid: string, database: Database, clientContext: ClientContext, encryptionManager: EncryptionManager); encrypt(body: T): Promise<{ body: T; propertiesEncryptedCount: number; }>; isPathEncrypted(path: string): Promise; encryptProperty(path: string, value: JSONValue): Promise; getEncryptedPartitionKeyValue(partitionKeyList: PartitionKeyInternal): Promise<{ partitionKeyList: PartitionKeyInternal; encryptedCount: number; }>; getEncryptedUrl(id: string): Promise; getEncryptedId(id: string): Promise; encryptQueryParameter(path: string, value: JSONValue, isValueId: boolean, type?: TypeMarker): Promise; private encryptToken; private serializeAndEncryptValue; decrypt(body: T): Promise<{ body: T; propertiesDecryptedCount: number; }>; private decryptToken; private deserializeAndDecryptValue; getEncryptionSetting(forceRefresh?: boolean): Promise; private buildEncryptionAlgorithm; private fetchClientEncryptionKey; } //# sourceMappingURL=EncryptionProcessor.d.ts.map