export type { MlKemLike } from '../mlkem/suite.js'; export interface RatchetInitResult { readonly nextRootKey: Uint8Array; readonly sendChainKey: Uint8Array; readonly recvChainKey: Uint8Array; } export interface KemEncapResult { readonly nextRootKey: Uint8Array; readonly sendChainKey: Uint8Array; readonly recvChainKey: Uint8Array; readonly kemCt: Uint8Array; } export interface KemDecapResult { readonly nextRootKey: Uint8Array; readonly sendChainKey: Uint8Array; readonly recvChainKey: Uint8Array; } export interface RatchetMessageHeader { readonly epoch: number; readonly counter: number; readonly pn?: number; readonly kemCt?: Uint8Array; } export interface ResolveHandle { readonly key: Uint8Array; commit(): void; rollback(): void; } export interface SkippedKeyStoreOpts { /** Max keys held in cache. Default 100. Must be >= maxSkipPerResolve. */ maxCacheSize?: number; /** Max skip-ahead derivations per resolve() call. Default 50. */ maxSkipPerResolve?: number; /** @deprecated use maxCacheSize + maxSkipPerResolve. If provided, sets both. */ ceiling?: number; }