/**
 * Events diagnostic panel data provider.
 *
 * Subscribes to ALL runtime event domains via the RuntimeEventBus and maintains
 * a bounded buffer of EventEntry records. Provides the typed event timeline
 * with full trace/session/turn/task/agent correlation context.
 *
 * This panel powers the "Events/Diagnostics" view.
 */
import type { RuntimeEventBus } from '../../events/index.js';
import { type EventEntry, type DiagnosticFilter, type PanelConfig } from '@pellux/goodvibes-sdk/platform/runtime/diagnostics/types';
/**
 * EventsPanel — diagnostic data provider for the full event timeline.
 *
 * Captures every envelope emitted across all domains, building a chronological
 * log with full tracing context. The buffer is bounded to prevent unbounded
 * memory growth in long-running sessions.
 */
export declare class EventsPanel {
    private readonly _config;
    private readonly _eventBus;
    /** Monotonic sequence counter for ordering within a session. */
    private _seq;
    /** Event history buffer (oldest first). */
    private readonly _buffer;
    /** Registered change notification callbacks. */
    private readonly _subscribers;
    /** Per-domain unsubscribe functions. */
    private readonly _unsubs;
    constructor(eventBus: RuntimeEventBus, config?: PanelConfig);
    private _start;
    private _handleEnvelope;
    /**
     * Return a filtered snapshot of event timeline entries.
     * Ordered most-recent first.
     *
     * @param filter - Optional filter. Supports: domains (as `domains` strings),
     *   since/until time range, traceId/sessionId/turnId/taskId correlation,
     *   and limit.
     */
    getSnapshot(filter?: DiagnosticFilter): EventEntry[];
    /**
     * Register a callback invoked whenever a new event is captured.
     * @returns An unsubscribe function.
     */
    subscribe(callback: () => void): () => void;
    /**
     * Release all event bus subscriptions and clear internal state.
     */
    dispose(): void;
    private _notify;
}
//# sourceMappingURL=events.d.ts.map