/**
 * Tasks diagnostic panel data provider.
 *
 * Subscribes to task lifecycle events via the RuntimeEventBus and maintains
 * a bounded buffer of TaskEntry records. Provides filtered snapshots
 * for the tasks diagnostics panel.
 *
 * Covers all task kinds: exec, agent, acp, scheduler, daemon, mcp, plugin, integration.
 */
import type { RuntimeEventBus } from '../../events/index.js';
import { type TaskEntry, type DiagnosticFilter, type PanelConfig } from '@pellux/goodvibes-sdk/platform/runtime/diagnostics/types';
/**
 * TasksPanel — diagnostic data provider for runtime task telemetry.
 *
 * Active tasks are tracked in a live map; terminal tasks are moved
 * to the history buffer for filtering and display.
 */
export declare class TasksPanel {
    private readonly _config;
    private readonly _eventBus;
    /** Active tasks keyed by taskId. */
    private readonly _active;
    /** Completed task history (oldest first). */
    private readonly _history;
    /** Registered change notification callbacks. */
    private readonly _subscribers;
    /** Unsubscribe function from the event bus. */
    private _unsub;
    constructor(eventBus: RuntimeEventBus, config?: PanelConfig);
    private _start;
    private _handleEnvelope;
    private _finalize;
    /**
     * Return a filtered snapshot combining active tasks and completed history.
     * Ordered most-recent first.
     *
     * @param filter - Optional filter to restrict entries.
     */
    getSnapshot(filter?: DiagnosticFilter): TaskEntry[];
    /**
     * Register a callback invoked whenever the data changes.
     * @returns An unsubscribe function.
     */
    subscribe(callback: () => void): () => void;
    /**
     * Release all event bus subscriptions and clear internal state.
     */
    dispose(): void;
    private _notify;
}
//# sourceMappingURL=tasks.d.ts.map