import { QueryToken } from "./queryTokens";
export interface TokenVisitor {
    visit(query: string, index: number, tokens: QueryToken[]): number;
}
export declare class ObjectTokenVisitor implements TokenVisitor {
    private static readonly _literalStartRegex;
    private static readonly _literalRegex;
    visit(query: string, index: number, tokens: QueryToken[]): number;
}
export declare class CommaTokenVisitor implements TokenVisitor {
    visit(query: string, index: number, tokens: QueryToken[]): number;
}
export declare class BooleanValueTokenVisitor implements TokenVisitor {
    visit(query: string, index: number, tokens: QueryToken[]): number;
}
export declare class StringTokenVisitor implements TokenVisitor {
    visit(query: string, index: number, tokens: QueryToken[]): number;
}
export declare class NumberTokenVisitor implements TokenVisitor {
    private static readonly _NumberRegex;
    visit(query: string, index: number, tokens: QueryToken[]): number;
}
export declare class GroupTokenVisitor implements TokenVisitor {
    visit(query: string, index: number, tokens: QueryToken[]): number;
}
export declare class LogicalOperatorTokenVisitor implements TokenVisitor {
    visit(query: string, index: number, tokens: QueryToken[]): number;
}
export declare class CompareOperatorVisitor implements TokenVisitor {
    visit(query: string, index: number, tokens: QueryToken[]): number;
}
export declare class NotTokenVisitor implements TokenVisitor {
    visit(query: string, index: number, tokens: QueryToken[]): number;
}
export declare class MathOperatorTokenVisitor implements TokenVisitor {
    private static readonly _MathOperators;
    visit(query: string, index: number, tokens: QueryToken[]): number;
}
