import { type Tier } from "../core/vocabulary.js"; import { Matter, type MatterInit } from "./matter.js"; import { Signer } from "./signer.js"; export interface SalterInit extends MatterInit { tier?: Tier; } export interface SalterStretchOptions { size?: number; path?: string; tier?: Tier; temp?: boolean; } export interface SalterSignerOptions { code?: string; transferable?: boolean; path?: string; tier?: Tier; temp?: boolean; } export interface SalterSignersOptions extends SalterSignerOptions { count?: number; start?: number; codes?: string[]; } /** * Salt primitive for deterministic secret/signer derivation workflows. * * KERIpy substance: Salter stores random or fixed salt bytes and is used as * input to deterministic signer/seed generation paths. * * Maintainer model: * - `tier` is the default stretch policy carried with the salt instance * - individual `stretch()` / `signer()` calls may still override it */ export declare class Salter extends Matter { readonly tier: Tier; constructor(init: Matter | SalterInit); /** Raw salt bytes used by key-derivation consumers. */ get salt(): Uint8Array; /** * Derive deterministic secret bytes from this salt and one derivation path. * * KERIpy correspondence: * - mirrors `Salter.stretch(...)` using Argon2id and tier/temp policy * * Path rule: * - callers supply the fully formed KERI salty path string * - `Salter` does not impose `pidx/ridx/kidx` structure itself; that remains * a higher-layer manager/creator responsibility */ stretch({ size, path, tier, temp, }?: SalterStretchOptions): Uint8Array; /** * Derive one deterministic executable signer from this salt and one path. * * The signer suite controls seed width; `Salter` only owns the deterministic * seed derivation. */ signer({ code, transferable, path, tier, temp, }?: SalterSignerOptions): Signer; /** * Derive an ordered signer list from one path prefix plus hex suffix range. * * KERIpy correspondence: * - successive signers append lowercase-hex offsets to the supplied path * prefix */ signers({ count, start, path, code, codes, transferable, tier, temp, }?: SalterSignersOptions): Signer[]; } //# sourceMappingURL=salter.d.ts.map