import { EncryptOutput } from '@elastic/node-crypto'; import { JWKDecryptResult, PrivateJWKS, PublicJWK, PublicJWKS } from './jwks'; export interface Encryptor { encrypt(kid: string, input: any): Promise; } export interface Decryptor { getPublicComponent(kid: string): PublicJWK | null; getWellKnowns(): PublicJWKS; decrypt(encryptedBody: string): Promise; getJWKMetadata(encryptedBody: string): Promise>; } export declare function createRequestEncryptor(publicJWKS: PublicJWKS): Promise; export declare function createRequestDecryptor(privateJWKS: PrivateJWKS): Promise; export declare function packBody(encryptedAESKey: string, encryptedPayload: string): string; export declare function unpackBody(packedBody: string): { encryptedAESKey: any; encryptedPayload: any; };