import Token from './tokens.cjs'; import '../../core/decimal/decimal.cjs'; import '../../core/positions.cjs'; import '../../errors/io-error.cjs'; import './token-types.cjs'; /** * Tokenizer for IO format. */ declare class Tokenizer { private pos; private input; private row; private col; private reachedEnd; private inputLength; /** * Initialize the tokenizer with an input string. * @param input - String to be tokenized. */ constructor(input: string); /** * Fast character checking for special symbols using character codes */ private isSpecialSymbolFast; /** * Fast token type lookup for special symbols using character codes */ private getSymbolTokenTypeFast; /** * Create an error token for invalid input and continue tokenizing. * @param error - The error that occurred * @param startPos - Starting position of the invalid token * @param startRow - Starting row of the invalid token * @param startCol - Starting column of the invalid token * @param tokenText - The invalid token text */ private createErrorToken; /** * Skip to the next valid token boundary after an error. * This helps recover from parsing errors by advancing to a safe position. */ private skipToNextTokenBoundary; /** * Advance the current position and update the row and column accordingly. */ private advance; private parseSingleLineComment; private parseRegularString; private escapeString; private get currentPosition(); private checkIfAnotatedString; private parseAnotatedString; private parseRawString; private parseByteString; private parseDateTime; private parseNumber; private parseLiteralOrOpenString; /** * Merges the two tokens into one token. This is used to merge the * tokens detected by various tokenizer functions. */ private mergeTokens; /** * Skip over any whitespaces and return them as a string. * @returns {string} The skipped whitespaces. */ private skipWhitespaces; /** * Tokenize the input string. * @returns {Token[]} Array of parsed tokens. */ tokenize(): readonly Token[]; private parseSectionSeparator; } export { Tokenizer as default };