import type { Client, ClientOptions } from '@modelcontextprotocol/sdk/client/index.js';
import type { RequestOptions } from '@modelcontextprotocol/sdk/shared/protocol.js';
import type { CallToolResult, Tool } from '@modelcontextprotocol/sdk/types.js';
import type { ConnectionManager } from '../task_managers/base.js';
export interface ConnectorInitOptions {
    /**
     * Options forwarded to the underlying MCP `Client` instance.
     */
    clientOptions?: ClientOptions;
    /**
     * Arbitrary request options (timeouts, cancellation, etc.) used by helper
     * methods when they issue SDK requests. Can be overridden per‑call.
     */
    defaultRequestOptions?: RequestOptions;
}
/**
 * Base class for MCP connectors.
 */
export declare abstract class BaseConnector {
    protected client: Client | null;
    protected connectionManager: ConnectionManager<any> | null;
    protected toolsCache: Tool[] | null;
    protected connected: boolean;
    protected readonly opts: ConnectorInitOptions;
    constructor(opts?: ConnectorInitOptions);
    /** Establish the connection and create the SDK client. */
    abstract connect(): Promise<void>;
    /** Disconnect and release resources. */
    disconnect(): Promise<void>;
    /** Check if the client is connected */
    get isClientConnected(): boolean;
    /**
     * Initialise the MCP session **after** `connect()` has succeeded.
     *
     * In the SDK, `Client.connect(transport)` automatically performs the
     * protocol‑level `initialize` handshake, so we only need to cache the list of
     * tools and expose some server info.
     */
    initialize(defaultRequestOptions?: RequestOptions): Promise<ReturnType<Client['getServerCapabilities']>>;
    /** Lazily expose the cached tools list. */
    get tools(): Tool[];
    /** Call a tool on the server. */
    callTool(name: string, args: Record<string, any>, options?: RequestOptions): Promise<CallToolResult>;
    /** List resources from the server. */
    listResources(options?: RequestOptions): Promise<import("zod").objectOutputType<{
        _meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
    } & {
        nextCursor: import("zod").ZodOptional<import("zod").ZodString>;
    } & {
        resources: import("zod").ZodArray<import("zod").ZodObject<{
            uri: import("zod").ZodString;
            name: import("zod").ZodString;
            description: import("zod").ZodOptional<import("zod").ZodString>;
            mimeType: import("zod").ZodOptional<import("zod").ZodString>;
        }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
            uri: import("zod").ZodString;
            name: import("zod").ZodString;
            description: import("zod").ZodOptional<import("zod").ZodString>;
            mimeType: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
            uri: import("zod").ZodString;
            name: import("zod").ZodString;
            description: import("zod").ZodOptional<import("zod").ZodString>;
            mimeType: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">>, "many">;
    }, import("zod").ZodTypeAny, "passthrough">>;
    /** Read a resource by URI. */
    readResource(uri: string, options?: RequestOptions): Promise<{
        content: unknown;
        mimeType: unknown;
    }>;
    listPrompts(): Promise<import("zod").objectOutputType<{
        _meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
    } & {
        nextCursor: import("zod").ZodOptional<import("zod").ZodString>;
    } & {
        prompts: import("zod").ZodArray<import("zod").ZodObject<{
            name: import("zod").ZodString;
            description: import("zod").ZodOptional<import("zod").ZodString>;
            arguments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
                name: import("zod").ZodString;
                description: import("zod").ZodOptional<import("zod").ZodString>;
                required: import("zod").ZodOptional<import("zod").ZodBoolean>;
            }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
                name: import("zod").ZodString;
                description: import("zod").ZodOptional<import("zod").ZodString>;
                required: import("zod").ZodOptional<import("zod").ZodBoolean>;
            }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
                name: import("zod").ZodString;
                description: import("zod").ZodOptional<import("zod").ZodString>;
                required: import("zod").ZodOptional<import("zod").ZodBoolean>;
            }, import("zod").ZodTypeAny, "passthrough">>, "many">>;
        }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
            name: import("zod").ZodString;
            description: import("zod").ZodOptional<import("zod").ZodString>;
            arguments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
                name: import("zod").ZodString;
                description: import("zod").ZodOptional<import("zod").ZodString>;
                required: import("zod").ZodOptional<import("zod").ZodBoolean>;
            }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
                name: import("zod").ZodString;
                description: import("zod").ZodOptional<import("zod").ZodString>;
                required: import("zod").ZodOptional<import("zod").ZodBoolean>;
            }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
                name: import("zod").ZodString;
                description: import("zod").ZodOptional<import("zod").ZodString>;
                required: import("zod").ZodOptional<import("zod").ZodBoolean>;
            }, import("zod").ZodTypeAny, "passthrough">>, "many">>;
        }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
            name: import("zod").ZodString;
            description: import("zod").ZodOptional<import("zod").ZodString>;
            arguments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
                name: import("zod").ZodString;
                description: import("zod").ZodOptional<import("zod").ZodString>;
                required: import("zod").ZodOptional<import("zod").ZodBoolean>;
            }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
                name: import("zod").ZodString;
                description: import("zod").ZodOptional<import("zod").ZodString>;
                required: import("zod").ZodOptional<import("zod").ZodBoolean>;
            }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
                name: import("zod").ZodString;
                description: import("zod").ZodOptional<import("zod").ZodString>;
                required: import("zod").ZodOptional<import("zod").ZodBoolean>;
            }, import("zod").ZodTypeAny, "passthrough">>, "many">>;
        }, import("zod").ZodTypeAny, "passthrough">>, "many">;
    }, import("zod").ZodTypeAny, "passthrough">>;
    getPrompt(name: string, args: Record<string, any>): Promise<import("zod").objectOutputType<{
        _meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
    } & {
        description: import("zod").ZodOptional<import("zod").ZodString>;
        messages: import("zod").ZodArray<import("zod").ZodObject<{
            role: import("zod").ZodEnum<["user", "assistant"]>;
            content: import("zod").ZodUnion<[import("zod").ZodObject<{
                type: import("zod").ZodLiteral<"text">;
                text: import("zod").ZodString;
            }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
                type: import("zod").ZodLiteral<"text">;
                text: import("zod").ZodString;
            }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
                type: import("zod").ZodLiteral<"text">;
                text: import("zod").ZodString;
            }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{
                type: import("zod").ZodLiteral<"image">;
                data: import("zod").ZodString;
                mimeType: import("zod").ZodString;
            }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
                type: import("zod").ZodLiteral<"image">;
                data: import("zod").ZodString;
                mimeType: import("zod").ZodString;
            }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
                type: import("zod").ZodLiteral<"image">;
                data: import("zod").ZodString;
                mimeType: import("zod").ZodString;
            }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{
                type: import("zod").ZodLiteral<"audio">;
                data: import("zod").ZodString;
                mimeType: import("zod").ZodString;
            }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
                type: import("zod").ZodLiteral<"audio">;
                data: import("zod").ZodString;
                mimeType: import("zod").ZodString;
            }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
                type: import("zod").ZodLiteral<"audio">;
                data: import("zod").ZodString;
                mimeType: import("zod").ZodString;
            }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{
                type: import("zod").ZodLiteral<"resource">;
                resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">>]>;
            }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
                type: import("zod").ZodLiteral<"resource">;
                resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">>]>;
            }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
                type: import("zod").ZodLiteral<"resource">;
                resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">>]>;
            }, import("zod").ZodTypeAny, "passthrough">>]>;
        }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
            role: import("zod").ZodEnum<["user", "assistant"]>;
            content: import("zod").ZodUnion<[import("zod").ZodObject<{
                type: import("zod").ZodLiteral<"text">;
                text: import("zod").ZodString;
            }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
                type: import("zod").ZodLiteral<"text">;
                text: import("zod").ZodString;
            }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
                type: import("zod").ZodLiteral<"text">;
                text: import("zod").ZodString;
            }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{
                type: import("zod").ZodLiteral<"image">;
                data: import("zod").ZodString;
                mimeType: import("zod").ZodString;
            }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
                type: import("zod").ZodLiteral<"image">;
                data: import("zod").ZodString;
                mimeType: import("zod").ZodString;
            }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
                type: import("zod").ZodLiteral<"image">;
                data: import("zod").ZodString;
                mimeType: import("zod").ZodString;
            }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{
                type: import("zod").ZodLiteral<"audio">;
                data: import("zod").ZodString;
                mimeType: import("zod").ZodString;
            }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
                type: import("zod").ZodLiteral<"audio">;
                data: import("zod").ZodString;
                mimeType: import("zod").ZodString;
            }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
                type: import("zod").ZodLiteral<"audio">;
                data: import("zod").ZodString;
                mimeType: import("zod").ZodString;
            }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{
                type: import("zod").ZodLiteral<"resource">;
                resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">>]>;
            }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
                type: import("zod").ZodLiteral<"resource">;
                resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">>]>;
            }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
                type: import("zod").ZodLiteral<"resource">;
                resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">>]>;
            }, import("zod").ZodTypeAny, "passthrough">>]>;
        }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
            role: import("zod").ZodEnum<["user", "assistant"]>;
            content: import("zod").ZodUnion<[import("zod").ZodObject<{
                type: import("zod").ZodLiteral<"text">;
                text: import("zod").ZodString;
            }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
                type: import("zod").ZodLiteral<"text">;
                text: import("zod").ZodString;
            }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
                type: import("zod").ZodLiteral<"text">;
                text: import("zod").ZodString;
            }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{
                type: import("zod").ZodLiteral<"image">;
                data: import("zod").ZodString;
                mimeType: import("zod").ZodString;
            }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
                type: import("zod").ZodLiteral<"image">;
                data: import("zod").ZodString;
                mimeType: import("zod").ZodString;
            }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
                type: import("zod").ZodLiteral<"image">;
                data: import("zod").ZodString;
                mimeType: import("zod").ZodString;
            }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{
                type: import("zod").ZodLiteral<"audio">;
                data: import("zod").ZodString;
                mimeType: import("zod").ZodString;
            }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
                type: import("zod").ZodLiteral<"audio">;
                data: import("zod").ZodString;
                mimeType: import("zod").ZodString;
            }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
                type: import("zod").ZodLiteral<"audio">;
                data: import("zod").ZodString;
                mimeType: import("zod").ZodString;
            }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{
                type: import("zod").ZodLiteral<"resource">;
                resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">>]>;
            }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
                type: import("zod").ZodLiteral<"resource">;
                resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">>]>;
            }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
                type: import("zod").ZodLiteral<"resource">;
                resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    text: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
                    uri: import("zod").ZodString;
                    mimeType: import("zod").ZodOptional<import("zod").ZodString>;
                }, {
                    blob: import("zod").ZodString;
                }>, import("zod").ZodTypeAny, "passthrough">>]>;
            }, import("zod").ZodTypeAny, "passthrough">>]>;
        }, import("zod").ZodTypeAny, "passthrough">>, "many">;
    }, import("zod").ZodTypeAny, "passthrough">>;
    /** Send a raw request through the client. */
    request(method: string, params?: Record<string, any> | null, options?: RequestOptions): Promise<any>;
    /**
     * Helper to tear down the client & connection manager safely.
     */
    protected cleanupResources(): Promise<void>;
}
//# sourceMappingURL=base.d.ts.map