import type { AgentSessionRuntime, ExtensionCommandContextActions, ExtensionError } from "@earendil-works/pi-coding-agent"; import { type PixLogDetails, type PixLogLevel } from "../logger.js"; import type { Entry } from "../types.js"; export type AppExtensionActionsHost = { isRunning(): boolean; runtime(): AgentSessionRuntime | undefined; subagentTypes?(runtime: AgentSessionRuntime): readonly string[] | undefined; getInput(): string; setInput(value: string): void; awaitCurrentSessionExtensions(runtime?: AgentSessionRuntime): Promise; resetSessionView(): void; loadSessionHistory(): void; afterSessionReplacement(message?: string): void; addEntry(entry: Entry): void; setStatus(status: string): void; setSessionStatus(runtime: AgentSessionRuntime["session"]): void; showToast(message: string, kind: "success" | "error" | "warning" | "info"): void; render(): void; }; export type ExtensionErrorLogger = (level: PixLogLevel, event: string, details?: PixLogDetails) => void; export declare class AppExtensionActionsController { private readonly host; private readonly logExtensionError; constructor(host: AppExtensionActionsHost, logExtensionError?: ExtensionErrorLogger); createCommandContextActions(runtime: AgentSessionRuntime): ExtensionCommandContextActions; waitForSessionIdle(runtime: AgentSessionRuntime): Promise; private isRuntimeActive; private isSessionActive; handleExtensionError(error: ExtensionError): void; }