import { NonTerminal, Terminal, IGrammar } from "./Definition";
import { FirstSetCalculator } from "./First";
export declare class FollowSetCalculator {
    private cyclicDector;
    private cache;
    private firstSetCalculator;
    private grammar;
    constructor(grammar: IGrammar, firstSetCalculator: FirstSetCalculator);
    private throwError;
    getFollowSet(target: NonTerminal): Set<Terminal>;
    getFollowTable(): FollowSetTable;
}
export declare type FollowSet = Set<Terminal>;
export declare type FollowSetTable = Map<string, Set<Terminal>>;
