import type { Transform } from './component.js'; import type { AeadOpenOperationOptions, AeadSealOperationOptions } from './aead.js'; import type { DerivedKeyCipherOperationOptions } from './operation-options.js'; import type { Registry } from './registry.js'; export interface DeriveOptions { name: string; length: number; input?: Uint8Array | string; [key: string]: unknown; } export interface KdfOptions { name: string; [option: string]: unknown; } export interface FormatOptions { name: string; [option: string]: unknown; } export interface CreateDerivedKeyCipherOptions { cipher: string; mode?: string; padding?: string; format?: string | (FormatOptions & { saltSize?: number; }); kdf: Omit & { length?: number; }; keySize?: number; [key: string]: unknown; } export interface CreateDerivedKeyAeadOptions { algorithm: string; format?: string | (FormatOptions & { saltSize?: number; }); kdf: Omit & { length?: number; }; keySize?: number; [key: string]: unknown; } export interface DerivedKeyCipherFacade { encrypt(plaintext: Uint8Array, options?: DerivedKeyCipherOperationOptions): Uint8Array; decrypt(input: Uint8Array, options?: DerivedKeyCipherOperationOptions): Uint8Array; createEncryptor(options?: DerivedKeyCipherOperationOptions): Transform; createDecryptor(options?: DerivedKeyCipherOperationOptions): Transform; } export interface DerivedKeyAeadSealOperationOptions extends AeadSealOperationOptions { salt?: Uint8Array | string | null; } export interface DerivedKeyAeadOpenOperationOptions extends AeadOpenOperationOptions { salt?: Uint8Array | string | null; } export interface DerivedKeyAeadFacade { seal(plaintext: Uint8Array, options?: DerivedKeyAeadSealOperationOptions): Uint8Array; open(ciphertext: Uint8Array, options?: DerivedKeyAeadOpenOperationOptions): Uint8Array; createSealer(options?: DerivedKeyAeadSealOperationOptions): Transform; createOpener(options?: DerivedKeyAeadOpenOperationOptions): Transform; } export declare function derive(registry: Registry, options: DeriveOptions): Uint8Array; export declare function createDerivedKeyCipher(registry: Registry, options: CreateDerivedKeyCipherOptions): DerivedKeyCipherFacade; export declare function createDerivedKeyAead(registry: Registry, options: CreateDerivedKeyAeadOptions): DerivedKeyAeadFacade; //# sourceMappingURL=derived-key.d.ts.map