import { DefaultParsedNode } from "./core/DefaultParsedNode.js";
import { Autocompletion } from "./core/Autocompletion.js";
import { EBNFCore } from "./ebnf/EBNFCore.js";
type GetAutocompletionFunction = (n: DefaultParsedNode, justCheck: boolean) => Autocompletion[] | undefined;
interface Autocompleter {
    getAutocompletion(n: DefaultParsedNode, justCheck: boolean): Autocompletion[] | undefined;
}
declare class IfNothingYetEnteredAutocompleter implements Autocompleter {
    private readonly ifNothingYetEntered;
    private readonly otherwise;
    constructor(ifNothingYetEntered: string, otherwise: string | undefined);
    getAutocompletion(pn: DefaultParsedNode, _justCheck: boolean): Autocompletion[] | undefined;
}
declare class EntireSequenceCompleter implements Autocompleter {
    private readonly ebnf;
    private readonly symbol2Autocompletion;
    constructor(ebnf: EBNFCore, symbol2Autocompletion: Map<string, Autocompletion[]>);
    getAutocompletion(pn: DefaultParsedNode, _justCheck: boolean): Autocompletion[] | undefined;
}
declare namespace Autocompleter {
    const DEFAULT_INLINE_AUTOCOMPLETER: Autocompleter;
}
export { GetAutocompletionFunction, Autocompleter, EntireSequenceCompleter, IfNothingYetEnteredAutocompleter };
//# sourceMappingURL=Autocompleter.d.ts.map