import { BNF } from "../core/BNF.js";
import { NonTerminal } from "../core/NonTerminal.js";
import { Sym } from "../core/Symbol.js";
import { IntRange } from "../util/IntRange.js";
import { Rule } from "./Rule.js";
export declare class Join extends Rule {
    private readonly open;
    private readonly close;
    private readonly delimiter;
    private cardinality;
    private onlyKeepEntries;
    constructor(tgt: NonTerminal | undefined, entry: Sym, open: Sym | undefined, close: Sym | undefined, delimiter: Sym | undefined, cardinality: IntRange);
    getEntry(): Sym;
    getCardinality(): IntRange;
    setCardinality(cardinality: IntRange): void;
    setOnlyKeepEntries(onlyKeepEntries: boolean): void;
    createBNF(grammar: BNF): void;
}
//# sourceMappingURL=Join.d.ts.map