/**
* Unicode symbol generator.
*
* Two ways to specify the character pool, then draws `length` code points
* from it uniformly:
*
* - `` — a
* named alphabet from the registry.
* - `` — an inline set,
* spelled directly (literals + `[x-y]` ranges, any Unicode). This is
* the friendly path that avoids regex for "pick one of these
* symbols".
*
* Exactly one of `alphabet` / `value` must be given. To pick a whole
* WORD from a list, use `` instead — `symbol` is
* character-level.
*/
import type { Generator } from './generator.js';
export declare const DEFAULT_SYMBOL_LENGTH = 1;
export declare const MAX_SYMBOL_LENGTH = 1024;
export interface SymbolGenAttrs {
readonly alphabet?: string | undefined;
/** Inline character set, e.g. "कखगघ" or "[a-z][0-9]". */
readonly value?: string | undefined;
/**
* Characters to ADD to the base set (same grammar as `value`).
* Useful to extend a fixed named alphabet, e.g. alphabet="latin.lower"
* include="[0-9]".
*/
readonly include?: string | undefined;
/**
* Characters to REMOVE from the set (same grammar as `value`). Applied
* last, so exclude has the final say — `value="[a-z]" exclude="y"`
* yields a–z without y.
*/
readonly exclude?: string | undefined;
readonly length?: number | string | undefined;
}
export declare class SymbolGeneratorError extends Error {
readonly name = "SymbolGeneratorError";
}
export declare function parseSymbolLength(raw: number | string | undefined, fallback?: number): number;
export declare function symbolGenerator(attrs: SymbolGenAttrs): Generator;
/**
* Resolve the character pool from either the inline `value` set or the
* named `alphabet`. Exactly one must be provided.
*/
export declare function resolveSymbolChars(attrs: SymbolGenAttrs): readonly string[];
//# sourceMappingURL=symbol.d.ts.map