import type { UseConsoleTransportOptions } from "./types.js"; export declare function useConsoleTransport(options?: UseConsoleTransportOptions): { connected: boolean; connect: () => void; disconnect: () => void; send: (message: unknown) => void; sendRequest: (message: unknown) => Promise; manager: import("./console-transport.js").ConsoleTransport; }; /** * 按 key 绑定异步加载结果:key(如 pluginName)切换后,旧 key 的残留值视为 null, * 避免 useConfig 的 ready 判断(config != null)被上一插件的 state 挡住而不再加载新配置。 * @internal */ export declare function resolveKeyedValue(entry: { readonly key: string; readonly value: T; } | null, key: string): T | null; export declare function useConfig(pluginName: string, options?: { autoLoad?: boolean; autoLoadSchema?: boolean; }): { config: unknown; schema: unknown; loading: boolean; error: string | null; connected: boolean; getConfig: () => Promise; setConfig: (newConfig: unknown) => Promise<{ success?: boolean; reloaded?: boolean; message?: string; }>; getSchema: () => Promise; }; export declare function useConfigSource(): { source: string; format: "json" | "yaml"; revision: string; configKeys: string[]; loading: boolean; error: string | null; load: () => Promise; save: (content: string) => Promise<{ success: boolean; revision: string; restartRequired: boolean; message?: string; }>; }; /** Shared Console flow for previewing and committing a plugin installation. */ export declare function usePluginInstall(): { plan: { packageName: string; instanceKey: string; alreadyDeclared: boolean; alreadyInstalled: boolean; restartRequired: boolean; changes: { packageManifest: string; config: string; }; warnings: string[]; } | null; loading: boolean; error: string | null; preview: (packageName: string) => Promise<{ packageName: string; instanceKey: string; alreadyDeclared: boolean; alreadyInstalled: boolean; restartRequired: boolean; changes: { packageManifest: string; config: string; }; warnings: string[]; }>; install: (packageName: string, expectedRevision?: string) => Promise<{ success: boolean; plan: Awaited>; restartRequired: boolean; }>; }; export declare function usePluginConfigValidation(pluginName: string): { loading: boolean; error: string | null; validate: (data: unknown) => Promise<{ valid: boolean; errors: { path: string; message: string; }[]; missingEnv: string[]; }>; }; export declare function usePluginDiagnostics(pluginName: string): { loading: boolean; error: string | null; diagnose: () => Promise<{ pluginName: string; plan: unknown; validation: { valid: boolean; errors: { path: string; message: string; }[]; missingEnv: string[]; }; }>; }; export declare function usePluginLifecycle(instanceKey: string): { loading: boolean; error: string | null; setEnabled: (enabled: boolean) => Promise<{ success: boolean; instanceKey: string; enabled: boolean; disabled: string[]; restartRequired: boolean; message: string; }>; }; export declare function usePluginUninstall(): { loading: boolean; error: string | null; preview: (packageName: string) => Promise<{ packageName: string; instanceKey: string; installed: boolean; declared: boolean; hasConfig: boolean; restartRequired: boolean; }>; uninstall: (packageName: string, expectedRevision?: string) => Promise<{ success: boolean; plan: Awaited>; restartRequired: boolean; }>; }; export declare function usePluginUpdate(): { loading: boolean; error: string | null; preview: (packageName: string, targetVersion: string) => Promise<{ packageName: string; instanceKey: string; currentVersion: string | null; targetVersion: string; installed: boolean; declared: boolean; alreadyCurrent: boolean; restartRequired: boolean; }>; update: (packageName: string, targetVersion: string, expectedRevision?: string) => Promise<{ success: boolean; plan: Awaited>; installedVersion: string; restartRequired: boolean; }>; }; export declare function useEndpointTest(adapter: string, endpointKey: string): { loading: boolean; error: string | null; test: () => Promise<{ reachable: boolean; connected: boolean; status?: "online" | "offline"; phase: string; pendingLogin?: boolean; latencyMs: number; message: string; }>; }; export declare function usePluginMarketplace(): { loading: boolean; error: string | null; search: (query?: Parameters<(query?: { keyword?: string; category?: string; official?: boolean; page?: number; pageSize?: number; }) => Promise>[0]) => Promise; detail: (packageName: string) => Promise; updates: () => Promise[]>; installed: () => Promise[]>; }; export declare function useFiles(): { tree: import("./types.js").FileTreeNode[]; loading: boolean; error: string | null; loadTree: () => Promise; readFile: (filePath: string) => Promise; saveFile: (filePath: string, content: string) => Promise<{ success: boolean; message?: string; }>; }; export declare function useEnvFiles(): { files: { name: string; exists: boolean; }[]; loading: boolean; error: string | null; listFiles: () => Promise<{ name: string; exists: boolean; }[]>; getFile: (filename: string) => Promise; saveFile: (filename: string, content: string) => Promise<{ success: boolean; message?: string; }>; }; export declare function useDatabase(): { info: import("./types.js").DatabaseInfo | null; tables: import("./types.js").TableInfo[]; loading: boolean; error: string | null; loadInfo: () => Promise; loadTables: () => Promise; dropTable: (table: string) => Promise<{ success: boolean; }>; select: (table: string, page?: number, pageSize?: number, where?: unknown) => Promise; insert: (table: string, row: unknown) => Promise<{ success: boolean; }>; update: (table: string, row: unknown, where: unknown) => Promise<{ success: boolean; affected: number; }>; remove: (table: string, where: unknown) => Promise<{ success: boolean; deleted: number; }>; kvGet: (table: string, key: string) => Promise<{ key: string; value: unknown; }>; kvSet: (table: string, key: string, value: unknown, ttl?: number) => Promise<{ success: boolean; }>; kvDelete: (table: string, key: string) => Promise<{ success: boolean; }>; kvEntries: (table: string) => Promise<{ entries: import("./types.js").KvEntry[]; }>; }; //# sourceMappingURL=hooks.d.ts.map