export type DictionaryTrainingAlgorithm = 'fastcover' | 'cover' | 'legacy'; export interface GenerateDictionaryOptions { /** * Target maximum output size for dictionary bytes. * Similar to zstd CLI --maxdict. */ maxDictSize?: number; /** * Included for API parity with zstd terminology. * Raw-content dictionaries don't embed an ID in bytes; pass this value * separately to compress/decompress options when needed. */ dictId?: number; /** * Training mode selector inspired by zstd dictionary builders. * This implementation is deterministic and uses algorithm-specific scoring. */ algorithm?: DictionaryTrainingAlgorithm; /** * Candidate segment size (bytes) used while harvesting patterns. */ k?: number; /** * Distance step (bytes) between candidate probes. */ d?: number; /** * Number of score-curve refinement passes. */ steps?: number; /** * Percent of each sample used for candidate harvesting (1-100). */ split?: number; /** * Additional fastcover-style score multiplier. */ f?: number; /** * Probe stride accelerator (1-10). */ accel?: number; /** * Legacy-style density control (1-10), where lower means denser. */ selectivity?: number; /** * Optional shrink pass. If true, applies default shrink factor. * If number, interpreted as target shrink factor >= 1. */ shrink?: boolean | number; } /** * Generate a deterministic raw-content dictionary from training samples. * * The output is intentionally a raw-content dictionary byte sequence, which is * compatible with zstd's -D usage and zstdify dictionary decode paths. */ export declare function generateDictionary(samples: Uint8Array[], options?: GenerateDictionaryOptions): Uint8Array;