import type { Position, Range } from './types'; /** * Token types for nginx configuration */ export declare enum TokenType { LBRACE = "LBRACE",// { RBRACE = "RBRACE",// } SEMICOLON = "SEMICOLON",// ; WORD = "WORD",// unquoted word/identifier QUOTED_STRING = "QUOTED_STRING",// "..." or '...' VARIABLE = "VARIABLE",// $variable COMMENT = "COMMENT",// # comment NEWLINE = "NEWLINE", EOF = "EOF" } /** * Token represents a single lexical unit */ export interface Token { type: TokenType; value: string; range: Range; } /** * Lexer for nginx configuration files */ export declare class Lexer { private input; private pos; private line; private column; private tokens; constructor(input: string); /** * Tokenize the entire input */ tokenize(): Token[]; private scanToken; private scanComment; private scanQuotedString; private scanVariable; private scanWord; private skipWhitespace; private isWordChar; private isVariableChar; private peek; private peekNext; private advance; private isAtEnd; private addToken; private makeRange; /** * Get current position for error reporting */ getPosition(): Position; }