import { type KDFInput } from "@noble/hashes/utils.js"; /** KrowOpts are krow key derivation options. */ export type KrowOpts = { /** m is the memory size in KiB. */ m: number; /** t is the time factor. */ t: number; /** s is the security mode as a percentage of data-dependent lookups. */ s: number; /** dkLen is the derived key length in bytes (default = 32). */ dkLen?: number; /** * asyncTick is the most time in ms where the asynchronous function * can block execution (default = 10). */ asyncTick?: number; /** random is the fill phase random dependency mode (default = true). */ random?: boolean; /** mutable is the lookup phase mutability (default = true). */ mutable?: boolean; /** onProgress is a progress callback. */ onProgress?: (completed: number, total: number) => void; }; /** * The krow key derivation function, synchronous version. * @example * const PASSWORD = "Unmake the Wild Light"; * const SALT = "65daysofstatic"; * const opts: KrowOpts = { m: 16 * 1024, t: 2, s: 25 }; * const dk = krow(PASSWORD, SALT, null, opts); */ export declare function krow(password: KDFInput, salt: KDFInput, context: string | null, opts: KrowOpts): Uint8Array; /** * The krow key derivation function, asynchronous version. * @example * const PASSWORD = "Unmake the Wild Light"; * const SALT = "65daysofstatic"; * const opts: KrowOpts = { m: 16 * 1024, t: 2, s: 25 }; * const dk = await krowAsync(PASSWORD, SALT, null, opts); */ export declare function krowAsync(password: KDFInput, salt: KDFInput, context: string | null, opts: KrowOpts): Promise; //# sourceMappingURL=mod.d.ts.map