import type { StatusScriptConfig } from '../types.js'; import type { PanelControllerOptions, PanelSnapshot, PanelStatusScriptResult, ScriptEvent } from './types.js'; type UpdateListener = (snapshot: PanelSnapshot) => void; type LogListener = () => void; type ScriptEventListener = (event: ScriptEvent) => void; export declare class StatusPanelController { private readonly options; private snapshot; private readonly emitter; private readonly gitCollector; private readonly logReader; private readonly stateDir; private stateFileMap; private watchService?; private scheduler?; private refreshing?; private scriptRefreshing?; private summaryRefreshing?; private pendingStatusScripts; private pendingSummaryScripts; private configReloading?; private disposed; private readonly gitPollMs; private readonly statusPollMs; private scriptCache; private summaryScriptCache; protected readonly gitSummaryMode: 'list' | 'ai'; private readonly profileEnabled; constructor(options: PanelControllerOptions); protected runStatusScript(scriptConfig: StatusScriptConfig, projectRoot: string): Promise; getSnapshot(): PanelSnapshot; start(): Promise; onUpdate(listener: UpdateListener): () => void; onLogUpdate(listener: LogListener): () => void; onScriptEvent(listener: ScriptEventListener): () => void; forceRefresh(): Promise; startDaemon(): Promise; stopDaemon(): Promise; pause(): Promise; resume(): Promise; getLogLines(targetName: string, channel?: string, limit?: number): Promise; dispose(): void; private setupWatchers; private setupScheduler; private reloadConfig; private refreshStatus; private refreshGit; private refreshStatusScripts; private refreshSummaryScripts; private getScriptCacheKey; private getSummaryCacheKey; private mergeScriptResult; private mergeSummaryResult; private emitSnapshot; private emitScriptEvent; } export {}; //# sourceMappingURL=panel-controller.d.ts.map