export type FlowLogSource = 'donobu' | 'browser' | 'network';
export interface FlowLogEntry {
    timestamp: string;
    level: string;
    message: string;
    source: FlowLogSource;
    flowId: string;
    [key: string]: unknown;
}
export interface FlowLogSnapshot {
    entries: FlowLogEntry[];
    evicted: Record<FlowLogSource, number>;
}
/**
 * A bounded, per-flow ring buffer that accumulates log entries in memory.
 *
 * When the buffer exceeds its byte budget, the oldest entries are evicted
 * first. Eviction counts are tracked per source so the UI can inform the
 * user how many entries were dropped.
 */
export declare class FlowLogBuffer {
    private readonly maxBytes;
    private readonly entries;
    private currentBytes;
    private readonly evicted;
    constructor(maxBytes?: number);
    push(entry: FlowLogEntry): void;
    snapshot(): FlowLogSnapshot;
    private estimateBytes;
}
//# sourceMappingURL=FlowLogBuffer.d.ts.map