import { WebPlugin } from '@capacitor/core';
import type { CorsBypassPlugin, HttpRequestOptions, HttpResponse, SSEOptions, SSEConnectionOptions, SSEConnection, WebSocketConnectionOptions, WebSocketConnection, MCPClientOptions, MCPClient, MCPResourceList, MCPResource, MCPToolList, MCPToolResult, MCPPromptList, MCPPrompt, MCPSamplingRequest, MCPSamplingResponse } from './definitions';
export declare class CorsBypassWeb extends WebPlugin implements CorsBypassPlugin {
    private sseConnections;
    private wsConnections;
    private mcpClients;
    private mcpTransports;
    private connectionCounter;
    private proxyServerUrl;
    constructor();
    private detectProxyServer;
    /**
     * Set custom proxy server URL
     */
    setProxyServer(url: string): void;
    request(options: HttpRequestOptions): Promise<HttpResponse>;
    get(options: HttpRequestOptions): Promise<HttpResponse>;
    post(options: HttpRequestOptions): Promise<HttpResponse>;
    put(options: HttpRequestOptions): Promise<HttpResponse>;
    patch(options: HttpRequestOptions): Promise<HttpResponse>;
    delete(options: HttpRequestOptions): Promise<HttpResponse>;
    startSSE(options: SSEOptions): Promise<{
        connectionId: string;
    }>;
    stopSSE(options: {
        connectionId: string;
    }): Promise<void>;
    private isCrossOrigin;
    createSSEConnection(options: SSEConnectionOptions): Promise<SSEConnection>;
    closeSSEConnection(options: {
        connectionId: string;
    }): Promise<void>;
    createWebSocketConnection(options: WebSocketConnectionOptions): Promise<WebSocketConnection>;
    closeWebSocketConnection(options: {
        connectionId: string;
    }): Promise<void>;
    sendWebSocketMessage(options: {
        connectionId: string;
        message: string;
    }): Promise<void>;
    createMCPClient(options: MCPClientOptions): Promise<MCPClient>;
    listMCPResources(options: {
        connectionId: string;
        cursor?: string;
    }): Promise<MCPResourceList>;
    readMCPResource(options: {
        connectionId: string;
        uri: string;
    }): Promise<MCPResource>;
    listMCPTools(options: {
        connectionId: string;
        cursor?: string;
    }): Promise<MCPToolList>;
    callMCPTool(options: {
        connectionId: string;
        name: string;
        arguments?: any;
    }): Promise<MCPToolResult>;
    listMCPPrompts(options: {
        connectionId: string;
        cursor?: string;
    }): Promise<MCPPromptList>;
    getMCPPrompt(options: {
        connectionId: string;
        name: string;
        arguments?: any;
    }): Promise<MCPPrompt>;
    sendMCPSampling(options: {
        connectionId: string;
        request: MCPSamplingRequest;
    }): Promise<MCPSamplingResponse>;
}
//# sourceMappingURL=web.d.ts.map