import type { ChildProcess, Line, SessionOptions } from '../types.js'; type Listener = () => void; type Mode = 'normal' | 'interactive'; type FilterMode = 'all' | 'running' | 'finished' | 'failed'; export declare class ProcessStore { private processes; private completedIds; private listNav; private mode; private expandedId; private errorFooterExpanded; private filterMode; private searchTerm; private isSearching; private isFullscreen; private header; private showStatusBar; private isInteractive; private listeners; private shouldExit; private exitCallback; private bufferVersion; constructor(options?: SessionOptions); subscribe: (listener: Listener) => (() => void); getSnapshot: () => ChildProcess[]; getRunningProcesses: () => ChildProcess[]; getCompletedProcesses: () => ChildProcess[]; getFailedProcesses: () => ChildProcess[]; getRunningCount: () => number; getMaxGroupLength: () => number; getDoneCount: () => number; getErrorCount: () => number; getErrorLineCount: () => number; getErrorLines(): Array<{ processName: string; lines: Line[]; }>; addProcess(process: ChildProcess): void; updateProcess(id: string, update: Partial): void; appendLines(id: string, newLines: Line[]): void; getProcess(id: string): ChildProcess | undefined; getProcessLines(id: string): Line[]; getProcessLineCount(id: string): number; getMode: () => Mode; getSelectedIndex: () => number; getExpandedId: () => string | null; getListScrollOffset: () => number; getErrorFooterExpanded: () => boolean; getBufferVersion: () => number; getFilterMode: () => FilterMode; getSearchTerm: () => string; getIsSearching: () => boolean; getIsFullscreen: () => boolean; getFilteredProcesses: () => ChildProcess[]; getScrollOffset: () => number; getHeader: () => string | undefined; getShowStatusBar: () => boolean; getIsInteractive: () => boolean; isAllComplete: () => boolean; setMode(mode: Mode): void; getSelectedProcess(): ChildProcess | undefined; cycleFilterNext(): void; cycleFilterPrev(): void; startSearch(): void; updateSearchTerm(term: string): void; cancelSearch(): void; confirmSearch(): void; clearSearch(): void; enterFullscreen(): void; exitFullscreen(visibleCountWhenCollapsed?: number): void; toggleErrorFooter(): void; expandErrorFooter(): void; selectNext(visibleCount?: number): void; selectPrev(visibleCount?: number): void; selectPageDown(pageSize: number, visibleCount?: number): void; selectPageUp(pageSize: number, visibleCount?: number): void; selectFirst(visibleCount?: number): void; selectLast(visibleCount?: number): void; clampListViewport(visibleCount: number): void; private getExpandedNav; scrollDown(maxVisible: number): void; scrollUp(): void; scrollPageDown(pageSize: number): void; scrollPageUp(pageSize: number): void; scrollToTop(): void; scrollToBottom(maxVisible: number): void; toggleExpand(visibleCountWhenExpanded?: number, visibleCountWhenCollapsed?: number): void; collapse(visibleCountWhenCollapsed?: number): void; signalExit(callback: () => void): void; getShouldExit: () => boolean; getExitCallback: () => (() => void) | null; reset(): void; notify(): void; } export {};