import { int } from "things"; /** Nonterminals start with an uppercase letter, everything else is a terminal. */ export type Sym = string; export declare function isNonterminal(sym: Sym): boolean; export declare function isTerminal(sym: Sym): boolean; export declare class GrammarSymbols { #private; constructor(); handleOf(syms: Sym[]): int | undefined; symsOf(handle: int): Sym[] | undefined; handlesOf(handle: int): int[] | undefined; symOf(handle: int): string | undefined; ensure(syms: Sym[]): int; declare_distinct(distinct_handles: Iterable): void; declare_distinct_symbols(symbols: Iterable): void; declare_empty(possibly_empty: Sym, nonempty_version: Sym): void; declare_final(f: Sym): void; nonemptyVersionOf(possibly_empty: int): int | undefined; distinct(terminal1: int, terminal2: int): boolean; is_final(h: int): boolean; }