import type * as messages from '@cucumber/messages';
import type IToken from './IToken';
export default interface ITokenMatcher<TokenType> {
    changeDialect(newDialectName: string, location?: messages.Location): void;
    reset(): void;
    match_TagLine(token: IToken<TokenType>): boolean;
    match_FeatureLine(token: IToken<TokenType>): boolean;
    match_ScenarioLine(token: IToken<TokenType>): boolean;
    match_BackgroundLine(token: IToken<TokenType>): boolean;
    match_ExamplesLine(token: IToken<TokenType>): boolean;
    match_RuleLine(token: IToken<TokenType>): boolean;
    match_TableRow(token: IToken<TokenType>): boolean;
    match_Empty(token: IToken<TokenType>): boolean;
    match_Comment(token: IToken<TokenType>): boolean;
    match_Language(token: IToken<TokenType>): boolean;
    match_DocStringSeparator(token: IToken<TokenType>): boolean;
    match_EOF(token: IToken<TokenType>): boolean;
    match_StepLine(token: IToken<TokenType>): boolean;
    match_Other(token: IToken<TokenType>): boolean;
}
//# sourceMappingURL=ITokenMatcher.d.ts.map