import { CharacterReader } from '../character-reader/character-reader-level-0';
import { Group, NonCapturingGroup } from 'regjsparser';
import { CharacterReaderLevel2Stack } from '../character-reader/character-reader-level-2';
import { MyFeatures } from '../parse';
export type StackGroupEntry = Readonly<{
    group: Group<MyFeatures>;
    type: 'group';
}>;
export type Groups = ReadonlySet<Group<MyFeatures>>;
export type LookaheadStack = readonly NonCapturingGroup<MyFeatures>[];
export declare function getGroups(stack: CharacterReaderLevel2Stack): Groups;
export declare function getLookaheadStack(stack: CharacterReaderLevel2Stack): LookaheadStack;
export declare function buildGroupCharacterReader({ caseInsensitive, dotAll, node, }: {
    caseInsensitive: boolean;
    dotAll: boolean;
    node: Group<MyFeatures>;
}): CharacterReader;
