/**
 * Transport Factory for IL2CPP MCP Server
 * Creates and manages different transport types (stdio, HTTP, WebSocket, SSE)
 */
import { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
import { TransportType, TransportConfig, ITransportFactory, TransportStatus, TransportMetrics } from './transport-types';
import { HttpTransport } from './http-transport';
/**
 * Transport factory implementation
 */
export declare class TransportFactory implements ITransportFactory {
    private activeTransports;
    /**
     * Create a transport instance based on configuration
     */
    createTransport(config: TransportConfig): Promise<Transport>;
    /**
     * Create stdio transport
     */
    private createStdioTransport;
    /**
     * Create HTTP transport
     */
    private createHttpTransport;
    /**
     * Create SSE transport
     */
    private createSseTransport;
    /**
     * Validate transport configuration
     */
    validateConfig(config: TransportConfig): boolean;
    /**
     * Get supported transport types
     */
    getSupportedTypes(): TransportType[];
    /**
     * Get status of all active transports
     */
    getTransportStatuses(): TransportStatus[];
    /**
     * Get metrics for all active transports
     */
    getTransportMetrics(): Map<string, TransportMetrics>;
    /**
     * Stop a specific transport
     */
    stopTransport(transportId: string): Promise<void>;
    /**
     * Stop all active transports
     */
    stopAllTransports(): Promise<void>;
    /**
     * Generate a unique transport ID
     */
    private generateTransportId;
    /**
     * Get transport by ID
     */
    getTransport(transportId: string): Transport | HttpTransport | null;
    /**
     * Check if a transport is active
     */
    isTransportActive(transportId: string): boolean;
    /**
     * Get transport configuration
     */
    getTransportConfig(transportId: string): TransportConfig | null;
}
/**
 * Global transport factory instance
 */
export declare const transportFactory: TransportFactory;
/**
 * Helper function to create and validate transport
 */
export declare function createValidatedTransport(config: TransportConfig): Promise<Transport>;
