/**
 * Generated by tsnapi — public API snapshot of `devframe/adapters/mcp`
 */
// #region Interfaces
export interface CreateMcpFetchHandlerOptions {
  serverName: string;
  serverVersion: string;
  exposeSharedState: boolean | ((_: string) => boolean);
  allowedOrigins?: readonly string[] | false;
}
export interface CreateMcpServerOptions {
  transport?: 'stdio';
  exposeSharedState?: boolean | ((_: string) => boolean);
  serverName?: string;
  serverVersion?: string;
  onReady?: (_: {
    transport: 'stdio';
  }) => void;
}
export interface McpFetchHandler {
  fetch: (_: Request) => Promise<Response>;
  dispose: () => Promise<void>;
}
export interface McpServerHandle {
  stop: () => Promise<void>;
}
export interface MountedMcpHttp {
  dispose: () => Promise<void>;
}
export interface MountMcpHttpOptions extends CreateMcpFetchHandlerOptions {}
// #endregion

// #region Functions
export declare function createMcpFetchHandler(_: DevframeNodeContext, _: CreateMcpFetchHandlerOptions): McpFetchHandler;
export declare function createMcpServer(_: DevframeDefinition, _?: CreateMcpServerOptions): Promise<McpServerHandle>;
export declare function mountMcpHttp(_: H3, _: DevframeNodeContext, _: string, _: MountMcpHttpOptions): MountedMcpHttp;
// #endregion