/**
 * Platform-specific adapters for compatibility
 */
import { SupportedPlatform } from './platform-detector.js';
import { Request, Response } from 'express';
import { MCPRequest, MCPResponse } from '../types.js';
export interface PlatformAdapter {
    platform: SupportedPlatform;
    adaptStdioRequest?(input: any): MCPRequest;
    adaptStdioResponse?(response: MCPResponse): any;
    adaptHttpRequest?(req: Request): MCPRequest;
    adaptHttpResponse?(response: MCPResponse, res: Response): void;
    adaptSSEMessage?(data: any): string;
    adaptWebSocketMessage?(data: any): any;
    handleAuthentication?(credentials: any): Promise<boolean>;
    handleFileAccess?(path: string, operation: 'read' | 'write'): Promise<boolean>;
    handleEnvironmentVariables?(): Record<string, string>;
    formatError?(error: Error): any;
    initialize?(): Promise<void>;
}
export declare class PlatformAdapterFactory {
    private static adapters;
    static registerAdapter(adapter: PlatformAdapter): void;
    static getAdapter(platform: SupportedPlatform): PlatformAdapter;
}
export { PlatformAdapterFactory as default };
//# sourceMappingURL=platform-adapter.d.ts.map