import { GrammarTemplate, PhraseFns } from "./types.js";
export declare class Grammar<P extends PhraseFns> {
    phraseFns: P;
    templates: GrammarTemplate<P>[];
    constructor(phraseFns: P, templates: GrammarTemplate<P>[]);
    static phrases: <P_1 extends PhraseFns>(phrases: P_1) => {
        templates: (templates: GrammarTemplate<P_1>[]) => Grammar<P_1>;
    };
    generate([firstByte, ...bytes]: Uint8Array): string;
    random(): string;
}
