import type { PluginRuntime } from '../comet-plugin/index.js'; export interface DashboardPluginPageRegistration { readonly pluginId: string; readonly label: string; readonly route: string; readonly load?: (context: DashboardPluginPageContext) => Promise; } export interface DashboardPluginPageContext { readonly projectId: string; readonly invoke: (capability: string, input?: unknown) => Promise; } export interface DashboardPluginPageSummary { readonly pluginId: string; readonly label: string; readonly route: string; readonly status: 'enabled' | 'disabled'; readonly globallyDisabled: boolean; readonly projectPaused: boolean; readonly diagnostics: readonly string[]; } export interface DashboardPluginPageSnapshot extends DashboardPluginPageSummary { readonly data: unknown | null; } export type DashboardPluginLifecycleAction = 'enable' | 'disable' | 'uninstall'; export interface DashboardPluginHostOptions { readonly runtime: PluginRuntime; readonly projectId: string; readonly pages?: readonly DashboardPluginPageRegistration[]; } export type DashboardPluginHostFactory = (projectId: string, projectPath: string) => DashboardPluginHost | Promise; export declare class DashboardPluginHost { private readonly runtime; private readonly projectId; private readonly pages; constructor(options: DashboardPluginHostOptions); list(): Promise; get(pluginId: string): Promise; invoke(pluginId: string, capability: string, input?: unknown): Promise; lifecycle(pluginId: string, action: DashboardPluginLifecycleAction): Promise; private requirePage; private scope; private asHostError; } export declare class DashboardPluginHostError extends Error { readonly statusCode: number; readonly pluginId?: string | undefined; constructor(message: string, statusCode: number, pluginId?: string | undefined); } //# sourceMappingURL=plugin-host.d.ts.map