import { Scanner } from '../scanner/Scanner'; import { Position } from '../source/Position'; import { Source } from '../source/Source'; import { FullToken } from './Token'; export interface Lexer { readonly source: Source; readonly position: Position; peek(): FullToken; next(): FullToken; eof(): boolean; } export interface LexerConfig { readonly rawFunctions: ReadonlyArray; } export declare const DEFAULT_LEXER_CONFIG: LexerConfig; export declare const createLexer: (input: Scanner, lexerConfig?: Partial | undefined) => Lexer;