export interface WebMCPOptions { color?: string; position?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'; size?: string; padding?: string; inactivityTimeout?: number; } export interface ToolInputSchema { type: string; properties: Record; required?: string[]; } export interface ResourceOptions { uri?: string; uriTemplate?: string; mimeType?: string; } export interface PromptArgument { name: string; description?: string; required?: boolean; } export type ToolHandler = (args: any) => string | object | Promise; export type PromptHandler = (args: any) => object | Promise; export type ResourceHandler = (uri: string) => object | Promise; declare class WebMCP { readonly isConnected: boolean; readonly isExpanded: boolean; constructor(options?: WebMCPOptions); connect(connectionToken: string): Promise; disconnect(): void; registerTool(name: string, description: string, schema: ToolInputSchema, executeFn: ToolHandler): void; unregisterTool(name: string): void; unregisterAllTools(): void; registerPrompt(name: string, description: string, args: PromptArgument[], executeFn: PromptHandler): void; unregisterPrompt(name: string): void; registerResource(name: string, description: string, options: ResourceOptions, provideFn: ResourceHandler): void; unregisterResource(name: string): void; } export default WebMCP; export { WebMCP };