import type { McpApps, McpAppsSource, McpAppPage, McpAppResource } from "@aotter/mantle/mcp"; /** An archived resources/read page, including its embedded catalogue; application-owned, never caller rows or credentials. */ export interface AdminMcpSnapshot extends McpAppPage { readonly uri: string; readonly domain?: string; readonly title?: string; } export interface AdminMcpOptions { readonly catalogue: { readonly views: Readonly>; readonly actions: Readonly>; }; /** * The App's HTML. Without it, the file `mantle bundle` built into `/admin/mcp-app.html`: read through the Worker's * `env.ASSETS` binding or, on Bun, from `file`. Pass a loader to serve it from elsewhere. */ readonly html?: McpAppResource["html"]; /** Where Bun reads the built App from when `html` is not given; `dist/client/admin/mcp-app.html` by default. */ readonly file?: string; /** Immutable cache identity. Omit for built assets: their HTML, catalogue and resource metadata determine it. A custom HTML function must supply its own build-specific URI. */ readonly uri?: string; readonly title?: string; /** Views rendered by this App; all catalogue Views by default. Partition explicitly before registering another renderer. */ readonly renders?: readonly string[]; readonly appOnly?: readonly string[]; /** Passed through as `_meta.ui.domain`, for a host that serves each App from its own origin. */ readonly domain?: string; /** Previously deployed immutable pages. Keep these in source/artifact storage across clean builds; they claim no current renderer. */ readonly previous?: readonly AdminMcpSnapshot[]; } export declare function adminMcpApps(options: AdminMcpOptions & { readonly uri: string; }): McpApps; export declare function adminMcpApps(options: AdminMcpOptions): McpAppsSource;