export interface LineTimeSliceBufferOptions {
    flushIntervalMs: number;
    onTimedFlush: (key: string, text: string) => void;
    minTimedFlushChars?: number;
    maxTimedBufferMs?: number;
}
export declare class LineTimeSliceBuffer {
    private static readonly DEFAULT_MIN_TIMED_FLUSH_CHARS;
    private static readonly DEFAULT_MAX_TIMED_BUFFER_MS;
    private readonly flushIntervalMs;
    private readonly onTimedFlush;
    private readonly minTimedFlushChars;
    private readonly maxTimedBufferMs;
    private readonly buffers;
    private readonly timers;
    private readonly pendingSince;
    constructor(options: LineTimeSliceBufferOptions);
    addKey(key: string): void;
    push(key: string, text: string): string[];
    flushKey(key: string): string | undefined;
    flushAll(): Array<{
        key: string;
        text: string;
    }>;
    private scheduleTimer;
    private flushTimedKey;
    private findBoundaryIndex;
    private isBoundary;
    private clearTimer;
}
//# sourceMappingURL=stream-buffer.d.ts.map