import { C as ConnectedServerDoctorState, p as probeMcpServer, S as ServerDoctorResult } from './server-doctor-core-mv-RraDr.js';
export { P as ProbeHttpAttempt, a as ProbeInitializeInfo, b as ProbeMcpServerConfig, c as ProbeMcpServerResult, d as ProbeOAuthDetails, e as ProbeTransportResult, f as ServerDoctorCheck, g as ServerDoctorChecks, h as ServerDoctorConnection, i as ServerDoctorError, r as redactSensitiveValue } from './server-doctor-core-mv-RraDr.js';
import { Client } from '@modelcontextprotocol/client';
import { H as HttpServerConfig, R as RpcLogger, a as RetryPolicy } from './types-mAgSJ57j.js';
import './mcp-protocol-version-cf74324S.js';
import 'ai';

interface BrowserDoctorClient {
    close: Client["close"];
    getInitializationInfo: () => unknown;
    getServerCapabilities: () => unknown;
    listPrompts: Client["listPrompts"];
    listResourceTemplates: Client["listResourceTemplates"];
    listResources: Client["listResources"];
    listTools: Client["listTools"];
}
type ConnectedHttpServerDoctorState = ConnectedServerDoctorState;
interface RunHttpServerDoctorInput<TTarget = unknown> {
    config: HttpServerConfig;
    target: TTarget;
    timeout: number;
    rpcLogger?: RpcLogger;
    retryPolicy?: RetryPolicy;
}
interface HttpServerDoctorDependencies {
    probeServer?: typeof probeMcpServer;
    connectClient?: (config: HttpServerConfig, options: {
        timeout: number;
        rpcLogger?: RpcLogger;
        retryPolicy?: RetryPolicy;
    }) => Promise<BrowserDoctorClient>;
}
declare function runHttpServerDoctor<TTarget = unknown>(input: RunHttpServerDoctorInput<TTarget>, dependencies?: HttpServerDoctorDependencies): Promise<ServerDoctorResult<TTarget>>;

export { type ConnectedHttpServerDoctorState, ConnectedServerDoctorState, HttpServerConfig, type HttpServerDoctorDependencies, RpcLogger, type RunHttpServerDoctorInput, ServerDoctorResult, probeMcpServer, runHttpServerDoctor };
