import { AxiosInstance } from 'axios';
import { ITransport } from '../transport.types.js';
import { ParameterSchema, ZodManifest, Protocol } from '../protocol.js';
export declare abstract class McpHttpTransportBase implements ITransport {
    protected _mcpBaseUrl: string;
    protected _protocolVersion: string;
    protected _serverVersion: string | null;
    supportedProtocols?: string[];
    protected _manageSession: boolean;
    protected _session: AxiosInstance;
    protected _clientName?: string;
    protected _clientVersion?: string;
    private _initPromise;
    constructor(baseUrl: string, session?: AxiosInstance, protocol?: Protocol, clientName?: string, clientVersion?: string);
    protected ensureInitialized(headers?: Record<string, string>): Promise<void>;
    get protocolVersion(): string;
    get baseUrl(): string;
    protected appendToolsetPath(toolsetName?: string): string;
    protected convertToolSchema(toolData: unknown): {
        description: string;
        parameters: ParameterSchema[];
        authRequired?: string[];
    };
    private _convertTypeSchema;
    protected processToolResultContent(content: {
        type?: string;
        text?: string;
    }[]): string;
    protected abstract initializeSession(headers?: Record<string, string>): Promise<void>;
    abstract toolGet(toolName: string, headers?: Record<string, string>): Promise<ZodManifest>;
    abstract toolsList(toolsetName?: string, headers?: Record<string, string>): Promise<ZodManifest>;
    abstract toolInvoke(toolName: string, arguments_: Record<string, unknown>, headers: Record<string, string>): Promise<string>;
}
