import { type OpenCodeHostDetection } from "../setup/host-generation.js"; import type { HarnessAdapter, HarnessConfigPaths, PluginCacheInfo, PluginEntryResult } from "./types.js"; export declare class OpenCodeAdapter implements HarnessAdapter { readonly kind: "opencode"; readonly displayName = "OpenCode"; readonly pluginPackageName = "@cortexkit/aft-opencode"; readonly pluginEntryWithVersion: string; private hostDetection; isInstalled(): boolean; detectHostGeneration(): OpenCodeHostDetection; getHostVersion(): string | null; detectConfigPaths(): HarnessConfigPaths; hasPluginEntry(): boolean; ensurePluginEntry(): Promise; needsPluginEntryUpdate(): boolean; hasTuiPluginEntry(): boolean; /** * Register the TUI sidebar plugin in tui.json(c). Only setup/doctor call * this: the plugin itself must never auto-inject the entry at load time, * because that silently undoes a user's deliberate removal on every launch. */ ensureTuiPluginEntry(): Promise; needsTuiPluginEntryUpdate(): boolean; private ensureConfigEntry; private configEntryNeedsUpdate; getPluginCacheInfo(): PluginCacheInfo; getStorageDir(): string; getLogFile(): string; getInstallHint(): string; clearPluginCache(force: boolean): Promise<{ action: "cleared" | "legacy_path_cleared" | "up_to_date" | "not_found" | "not_applicable" | "error"; path: string; cached?: string; latest?: string; error?: string; legacy_path_cleared?: string; }>; /** Exposed for diagnostic reporting — harness-specific side data. */ getOpenCodeCacheDir(): string; /** For doctor: directory size helpers for each storage subtree. */ describeStorageSubtrees(): Record; } //# sourceMappingURL=opencode.d.ts.map