import { CharStream, Interval } from 'antlr4ng';
/**
 * Implementation of the {@link CharStream} interface that uses a  {@link Buffer} as the underlying data source.
 */
export declare class BufferStream implements CharStream {
    #private;
    private data;
    readonly name: string;
    readonly size: number;
    get index(): number;
    constructor(data: Buffer, name?: string);
    getSourceName(): string;
    /**
     * Reset the stream so that it's in the same state it was
     * when the object was created *except* the data array is not
     * touched.
     */
    reset(): void;
    consume(): void;
    LA(offset: number): number;
    LT(offset: number): number;
    mark(): number;
    release(): void;
    /**
     * consume() ahead until p==index; can't just set p=index as we must
     * update line and column. If we seek backwards, just set p
     */
    seek(index: number): void;
    getTextFromRange(start: number, stop: number): string;
    getTextFromInterval(interval: Interval): string;
    getText(interval: number | Interval, stop?: number): string;
    toString(): string;
}
/**
 * Case insensitive Decorator for a `CharStream` implementation, this will make the `LA` method return the lower case
 * character code for any character that is not `Token.EOF`.
 */
export declare class CaseInsensitiveCharStream implements CharStream {
    private stream;
    get name(): string;
    get index(): number;
    get size(): number;
    /**
     * Implementation of the `CharStream` interface that is case insensitive.
     * @param input Original input stream to decorate as case insensitive
     */
    constructor(stream: CharStream);
    LA(offset: number): number;
    private toLower;
    getTextFromRange(start: number, stop: number): string;
    getTextFromInterval(interval: Interval): string;
    reset(): void;
    consume(): void;
    mark(): number;
    release(marker: number): void;
    seek(index: number): void;
    toString(): string;
    getSourceName(): string;
}
//# sourceMappingURL=streams.d.ts.map