import type { EventBus } from '@wrongstack/core/kernel'; import type { FleetChatVerbosity } from '@wrongstack/core/types'; import type { Action } from '../app-reducer.js'; interface CompactionHistoryEvent { sessionId?: string | undefined; level: 'warn' | 'soft' | 'hard'; report: { before: number; after: number; fullRequestTokensBefore?: number | undefined; fullRequestTokensAfter?: number | undefined; }; } export declare function providerContextLimitHistoryEntry(event: { providerId: string; modelId: string; maxContext: number; previousMaxContext?: number | undefined; source?: 'configured' | 'provider' | 'provider_overflow' | undefined; decreased?: boolean | undefined; }): { kind: 'warn'; text: string; } | null; export declare function compactionHistoryEntry(event: CompactionHistoryEvent, currentSessionId?: string | undefined): { kind: 'info' | 'warn'; text: string; } | null; /** * Subagent lifecycle events → TUI dispatch bridge. * Wired to EventBus so both director and non-director /spawn runs surface in chat. * * Chat entries are gated by `getChatMode` (fleet-chat verbosity): * - 'full' — every lifecycle line (legacy behavior). * - 'off' — only non-success completions (✗/⏱/⊘); failures never go * silent. All fleet-table dispatches run in every mode. */ export declare function useSubagentEvents(events: EventBus, dispatch: React.Dispatch, setActiveMaxContext: (v: number | undefined) => void, getSessionId?: (() => string | undefined) | undefined, getChatMode?: (() => FleetChatVerbosity) | undefined, sessionGenerationRef?: { current: number; } | undefined): void; export {}; //# sourceMappingURL=use-subagent-events.d.ts.map