/**
 * Agents diagnostic panel data provider.
 *
 * Subscribes to agent lifecycle events via the RuntimeEventBus and maintains
 * a bounded buffer of AgentEntry records. Provides filtered snapshots
 * for the agents/cohorts diagnostics panel.
 *
 * Tracks state, ownership, blockers, and completion status for each agent.
 */
import type { RuntimeEventBus } from '../../events/index.js';
import { type AgentEntry, type DiagnosticFilter, type PanelConfig } from '@pellux/goodvibes-sdk/platform/runtime/diagnostics/types';
/**
 * AgentsPanel — diagnostic data provider for agent lifecycle telemetry.
 *
 * Active agents are tracked in a live map; terminal agents are moved
 * to the history buffer for filtering and display.
 */
export declare class AgentsPanel {
    private readonly _config;
    private readonly _eventBus;
    /** Active agents keyed by agentId. */
    private readonly _active;
    /** Completed agent 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 agents and completed history.
     * Ordered most-recent first.
     *
     * @param filter - Optional filter to restrict entries.
     */
    getSnapshot(filter?: DiagnosticFilter): AgentEntry[];
    /**
     * 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=agents.d.ts.map