import { ReactNode } from 'react'; import { ViewType, Run } from '../models/types.js'; import { DatabaseManager } from '../db/database.js'; import { TaskExecutor } from '../services/TaskExecutor.js'; interface ConfirmationState { message: string; onConfirm: () => void; onCancel: () => void; } interface AppState { currentView: ViewType; selectedIndex: number; previousSelectedIndex: number | null; runs: Run[]; commandMode: boolean; commandInput: string; logsVisible: boolean; helpVisible: boolean; projectRoot: string; currentBranch?: string; confirmation: ConfirmationState | null; selectedRunId: string | null; mergePrompt: { runId: string; defaultBranch: string; } | null; chatEditing: boolean; } interface AppContextValue { state: AppState; database: DatabaseManager; taskExecutor: TaskExecutor; setCurrentView: (view: ViewType) => void; setSelectedIndex: (index: number) => void; refreshRuns: () => void; setCommandMode: (enabled: boolean) => void; setCommandInput: (input: string) => void; setLogsVisible: (visible: boolean) => void; toggleLogs: () => void; toggleHelp: () => void; executeCommand: (command: string) => void; showConfirmation: (message: string, onConfirm: () => void, onCancel?: () => void) => void; hideConfirmation: () => void; deleteRun: (runId: string) => void; setSelectedRunId: (runId: string | null) => void; setPreviousSelectedIndex: (index: number | null) => void; toggleTaskStatus: (runId: string) => void; sendMessageToTask: (runId: string, message: string) => Promise; showMergePrompt: (runId: string, defaultBranch: string) => void; hideMergePrompt: () => void; mergeTaskBranch: (runId: string, targetBranch: string) => Promise; openPRForTask: (runId: string) => Promise; markTaskComplete: (runId: string) => void; openWorktreeInVSCode: (runId: string) => void; setChatEditing: (editing: boolean) => void; } interface AppProviderProps { children: ReactNode; database: DatabaseManager; projectRoot: string; } export declare function AppProvider({ children, database, projectRoot }: AppProviderProps): import("react/jsx-runtime").JSX.Element; export declare function useApp(): AppContextValue; export {}; //# sourceMappingURL=AppContext.d.ts.map