export interface SyllableBank { onset?: readonly string[]; nucleus: readonly string[]; coda?: readonly string[]; } export interface NameGeneratorOptions { rng: () => number; syllables: SyllableBank; minSyllables?: number; maxSyllables?: number; capitalize?: boolean; } export interface NameGenerator { name(): string; } export declare function pickFrom(rng: () => number, bank: readonly string[]): string; /** * Generate procedural names from templates and word banks with an injected random source. * * @capability name-generator generate procedural names from templates and word banks */ export declare function createNameGenerator(options: NameGeneratorOptions): NameGenerator; export declare function fillTemplate(template: string, vars: Record string> | Record): string;