import { Heap } from 'heap-js'; import { Queue } from '../vendor/generics/queue.js'; import { Event } from '../event.js'; import { Position } from '../position.js'; import { Range } from '../range.js'; import { Scanner, ScannerFactory } from '../scanner.js'; import { Signal } from '../signal.js'; export declare function computeLPSArray(pat: any): any[]; type OutputType = { source: 'START' | 'DATA' | 'END'; item: any; index: number; }; export declare class Match implements Scanner { id: string; toMatch: string; inclusive: boolean; holding: Queue<{ data: string; index: number; }>; outputStartEvents: Queue; outputEndEvents: Queue; outputData: Queue<{ data: string; index: number; }>; nextOutput: Heap; lastMatched: { queued: Queue; data: string; }; lpsArray: number[]; closedIndex: number; lastObserved: number; completed: boolean; terminal: Signal; state: any; toEmit: Range.ReadOutput[]; constructor(toMatch: string, inclusive?: boolean, id?: string); complete(): boolean; getReturnValue(): any; private close; addStart(startEvent: Event.Start): void; addEnd(endEvent: Event.End): void; addData(data: { data: string; index: number; }): void; createStartEvent(initialPosition: Position): Event.Start; createEndEvent(initialPosition: Position): Event.End; print(tabs?: number): string; shift(signal: Signal): Signal; static create(str: any): Match; static factory(str: string): ScannerFactory; } export {}; //# sourceMappingURL=match.d.ts.map