import { Table } from '../table'; import { LexerSettings } from './LexerSettings'; import { Token } from './Token'; import { TokenIterator, Options as IteratorOptions } from './TokenIterator'; interface SourceLine { lineNumber: number; tokenStart: number; tokenEnd: number; firstNonIndentToken: number; } export interface TokenRange { tokenStart: number; tokenEnd: number; } export interface TextRange { textStart: number; textEnd: number; } export interface LineRangeOptions { includeIndent?: boolean; includeNewline?: boolean; } export type Range = TokenRange | TextRange | number; export declare class LexedText { originalString: string; tokens: Table; tokensList: Token[]; lines: Table; constructor(str: string, settings?: LexerSettings); lastTextIndex(): number; resolveRange(range: Range): TextRange; getRangeForLine(lineNumber: number, options?: LineRangeOptions): TokenRange; getText(range: Range): string; getUnquotedText(token: Token): string; startIterator(position?: number, options?: IteratorOptions): TokenIterator; } export {};