import { type HerdrExec } from "../executors/herdr-cli.ts"; export declare const DASHBOARD_PLUGIN_ID = "pi-daddy.dashboard"; export declare const DASHBOARD_PLUGIN_ENTRYPOINT = "dashboard"; export declare const DASHBOARD_HERDR_TIMEOUT_MS = 3000; /** Dashboard control calls are UI operations and must never hang pi session start. */ export declare const dashboardHerdrExec: HerdrExec; export interface HerdrHost { paneId: string; tabId: string; workspaceId: string; } export type HerdrHostResult = { ok: true; host: HerdrHost; diagnostic: string; } | { ok: false; diagnostic: string; host?: undefined; }; export declare function verifyHerdrHost(options?: { env?: NodeJS.ProcessEnv | Record; pid?: number; exec?: HerdrExec; }): Promise; export type DashboardPluginState = "absent" | "disabled" | "compatible" | "incompatible" | "unavailable"; export interface DashboardPluginStatus { state: DashboardPluginState; diagnostic: string; incompatibility?: "package-root" | "protocol"; plugin?: Record; } export declare function inspectDashboardPlugin(exec?: HerdrExec, expectedPluginRoot?: string): Promise; export declare function linkDashboardPlugin(pluginRoot: string, exec?: HerdrExec): Promise; export interface DashboardOpenInput { exec?: HerdrExec; host: HerdrHost; ledgerPath: string; cwd: string; statePath: string; /** Expected bundled root; same-id plugins from another package are not invoked. */ pluginRoot?: string; /** Installation handshake may open an explanatory pane before a ledger exists. */ allowInactive?: boolean; } export interface DashboardOpenResult { kind: "opened" | "reused"; paneId: string; tabId: string; workspaceId: string; visibleBesideCaller: boolean; } export declare function openOrReuseDashboard(input: DashboardOpenInput): Promise; export declare function dashboardPaneStatePath(agentDir: string): string; //# sourceMappingURL=dashboard-herdr.d.ts.map