import { type AgentSessionEvent, type ModelInfo, type RpcSessionState, type SessionEntry } from "@earendil-works/pi-coding-agent"; import type { ImageContent, ModelThinkingLevel } from "@earendil-works/pi-ai"; export interface PiRuntime { start(): Promise; stop(): Promise; onEvent(listener: (event: AgentSessionEvent | Record) => void): () => void; prompt(message: string, images?: ImageContent[]): Promise; abort(): Promise; getState(): Promise; setModel(provider: string, modelId: string): Promise<{ provider: string; id: string; }>; getAvailableModels(): Promise; setThinkingLevel(level: ModelThinkingLevel): Promise; getEntries(): Promise<{ entries: SessionEntry[]; leafId: string | null; }>; getCommands(): Promise; } export interface PiSlashCommand { name: string; description?: string; source: "extension" | "prompt" | "skill"; sourceInfo: unknown; } export type PiRuntimeFactory = (cwd: string, sessionId?: string) => PiRuntime; export declare const createPiRuntime: PiRuntimeFactory;