import { SessionManager, type EventBus, type AgentSessionRuntime, type AgentSessionServices, type LoadExtensionsResult, type SessionEntry } from "@earendil-works/pi-coding-agent"; import { type PixConfig } from "../config.js"; import type { AppOptions, SessionModel, ThinkingLevel } from "./types.js"; export type PiToolsSuiteInstallAction = "installed" | "already-installed" | "existing-kept" | "missing-source"; export type PiToolsSuiteInstallResult = { action: PiToolsSuiteInstallAction; sourcePath: string; targetPath: string; }; export type PiToolsSuiteInstallOptions = { agentDir?: string; sourcePath?: string; targetPath?: string; }; export type BundledSkillsInstallAction = "installed" | "already-installed" | "existing-kept" | "missing-source"; export type BundledSkillsInstallResult = { action: BundledSkillsInstallAction; sourcePath: string; targetPath: string; installedSkills: string[]; preservedSkills: string[]; }; export type BundledSkillsInstallOptions = { homeDir?: string; sourcePath?: string; targetPath?: string; }; export declare function bundledQuestionExtensionPath(): string; export declare function bundledSessionTitleExtensionPath(): string; export declare function bundledTerminalBellExtensionPath(): string; export declare function bundledTelegramConnectorExtensionPath(): string; export declare function piToolsSuiteExtensionSourcePath(): string; export declare function piToolsSuiteExtensionInstallPath(agentDir?: string): string; export declare function bundledSkillsSourcePath(): string; export declare function bundledSkillsInstallPath(homeDir?: string): string; export declare function ensurePiToolsSuiteExtensionInstalled(options?: PiToolsSuiteInstallOptions): Promise; export declare function ensureBundledSkillsInstalled(options?: BundledSkillsInstallOptions): Promise; export declare function getBundledExtensionPaths(): string[]; export declare function getBundledExtensionPathsAsync(): Promise; export declare function prioritizeBundledQuestionExtension(base: LoadExtensionsResult, questionExtensionPath?: string): LoadExtensionsResult; export type CreatePixRuntimeOptions = { eventBus?: EventBus; config?: PixConfig; reuseServicesFrom?: AgentSessionRuntime; }; type RuntimeSessionManagerModelState = Pick; export declare function resolvePixRuntimeModelRef(options: Pick, sessionManager: RuntimeSessionManagerModelState, config?: PixConfig): string | undefined; export declare function resolvePixRuntimeModelRefs(options: Pick, sessionManager: RuntimeSessionManagerModelState, config?: PixConfig): string[]; export declare function resolvePixRuntimeInitialThinkingLevel(options: Pick, sessionManager: RuntimeSessionManagerModelState, config: PixConfig): ThinkingLevel | undefined; export declare function resolveSessionModelRefFromTail(entries: readonly SessionEntry[]): string | undefined; export declare function refreshPixModelRuntimeForStartup(modelRuntime: Pick): Promise; /** * Build the model catalogue used by UI-only draft tabs without allocating an * AgentSession or session file. Drafts can therefore expose model selection * while preserving lazy session materialization until the first prompt. */ export declare function createPixDraftModelCatalog(options: { cwd: string; agentDir?: string; }): Promise; export declare function createPixRuntime(options: AppOptions, runtimeOptions?: CreatePixRuntimeOptions): Promise; export {};