import { Token, TokenConstructor } from "./Token";
export declare abstract class AbstractLexer {
    protected text: string;
    protected cursor: number;
    protected lookAheadTokenType: TokenConstructor | undefined;
    tagStack: Token[];
    constructor(text: string);
    getRemainingText(info?: any): string;
    getSnippet(begin: number, end: number): string;
    getCursor(): number;
    isEOF(debug?: boolean): boolean;
    lookAhead(tokenType: TokenConstructor): boolean;
    consumeLookAhead(): Token;
    consume<T extends Token>(tokenType: new (...args: any) => T): T;
    lazyConsume<T extends Token>(tokenType: new (...args: any) => T): T | undefined;
    debug(): void;
}
