import type { ExtensionAPI, ExtensionContext } from "@earendil-works/pi-coding-agent"; import type { TaskDetail, TaskId } from "../domain/task"; import { type TaskSessionStore } from "../services/task-session-store"; import { type ToduTaskServiceRuntime } from "../services/todu/default-task-service"; declare const CURRENT_TASK_STATUS_KEY = "todu-current-task"; declare const CURRENT_TASK_WIDGET_KEY = "todu-current-task"; export interface CurrentTaskContextState { currentTaskId: TaskId | null; currentTask: TaskDetail | null; } export interface CurrentTaskContextController { getState(): CurrentTaskContextState; restoreFromBranch(ctx: ExtensionContext): Promise; setCurrentTask(ctx: ExtensionContext, task: TaskDetail | null): Promise; clearCurrentTask(ctx: ExtensionContext): Promise; handleDataChanged(): Promise; dispose(): Promise; } export interface CreateCurrentTaskContextControllerDependencies { runtime?: Pick; taskSessionStore?: TaskSessionStore; } declare const createCurrentTaskContextController: (pi: Pick, dependencies?: CreateCurrentTaskContextControllerDependencies) => CurrentTaskContextController; declare const getDefaultCurrentTaskContextController: (pi?: Pick) => CurrentTaskContextController; declare const resetDefaultCurrentTaskContextController: () => Promise; export { createCurrentTaskContextController, CURRENT_TASK_STATUS_KEY, CURRENT_TASK_WIDGET_KEY, getDefaultCurrentTaskContextController, resetDefaultCurrentTaskContextController, };