import type { Token, QueryLexerOptions } from './types'; export declare class QueryLexer { private input; private position; private options; constructor(options?: Partial); tokenize(input: string): Token[]; /** * Reset lexer to beginning of input */ private reset; /** * Link tokens as a doubly linked list */ private linkTokensAsLinkedList; /** * Check if we've reached the end of input */ private isAtEnd; private nextToken; private currentChar; private createToken; private scanWhitespace; /** * Scan quoted string (single or double quotes) */ private scanQuotedString; /** * Scan comparison operators (<=, >=, !=, <, >) */ private scanComparator; /** * Scan word (could be one of: key / value / AND / OR */ private scanWord; private scanLogicalOperator; /** * Advance position and update tracking */ private advance; /** * Check if character is whitespace */ private getIsWhitespace; /** * Check if character can start an identifier */ private isIdentifierStart; /** * Check if character can be part of an identifier (key / value) */ private isPartOfIdentifier; static getTokenAtPosition(tokens: Token[], position: number): Token | null; }