import { Task } from "../../../../../models/task.cjs"; import { TaskStore } from "../../../../../services/taskStore/index.cjs"; import { DelegationManager } from "../../../../../services/delegation/index.cjs"; import { TaskToolDependencies } from "../tool/_lib/task.cli.cjs"; import { PiPluginContext } from "@agimon-ai/doompi-core/pi-extension"; import { ExtensionAPI, ExtensionContext, ExtensionUIContext } from "@earendil-works/pi-coding-agent"; //#region src/extensions/workspaces/sessions/(backend)/_lib/root.cli.d.ts export interface TaskOverlayContract { setUICtx(context: ExtensionUIContext): void; update(): void; dispose(): void; toggleCollapse(): void; isRegistered(): boolean; } export interface TaskRootPresentation { createOverlay(options: { getTasks: () => readonly Task[]; delegation: DelegationManager; }): TaskOverlayContract; registerCollapseShortcut(pi: Pick, overlay: TaskOverlayContract, waitUntilReady: (context: ExtensionContext) => Promise, isActive: () => boolean): void; } export declare const createTaskRoot: (presentation: TaskRootPresentation) => import("@agimon-ai/doompi-core/extension-file").RootFile<{ taskStore: TaskStore; delegationManager: DelegationManager; taskOverlay: TaskOverlayContract; toolDependencies: TaskToolDependencies; waitForSessionReadiness: (context: { readonly sessionManager: object; }, signal?: AbortSignal) => Promise; refresh: () => void; sessionStart: (_event: unknown, ctx: ExtensionContext) => Promise; toolExecutionEnd: (event: { toolName: string; }) => void; isActive: () => boolean; }, PiPluginContext>; export type TaskPiScope = Awaited>>['value']; //#endregion //# sourceMappingURL=root.cli.d.cts.map