/**
 * Digital Samba MCP Server - Connection Manager Module (Simplified)
 *
 * This is a simplified version that focuses on basic fetch functionality
 * without the complexity of connection pools and reconnection logic.
 */
import { EventEmitter } from 'events';
import fetch, { RequestInfo, RequestInit, Response } from 'node-fetch';
/**
 * Connection state enum
 */
export declare enum ConnectionState {
    CONNECTING = "connecting",
    CONNECTED = "connected",
    DISCONNECTED = "disconnected",
    RECONNECTING = "reconnecting",
    ERROR = "error"
}
/**
 * Connection manager options
 */
export interface ConnectionManagerOptions {
    /** Base URL for the Digital Samba API */
    apiUrl: string;
    /** Function to create a fetch implementation (for testing) */
    fetchImpl?: typeof fetch;
    /** Connection pool size */
    poolSize?: number;
}
/**
 * Simplified Connection Manager class
 */
export declare class ConnectionManager extends EventEmitter {
    private options;
    private _fetch;
    /**
     * Connection Manager constructor
     * @param options Connection manager options
     */
    constructor(options: ConnectionManagerOptions);
    /**
     * Execute a request
     * @param url URL to fetch
     * @param options Request options
     * @returns Promise resolving to the response
     */
    fetch(url: RequestInfo, options?: RequestInit): Promise<Response>;
    /**
    * Reset the connection manager
    */
    reset(): void;
    /**
    * Check if the connection manager is healthy
    * @returns True if the connection manager is healthy
     */
    isHealthy(): boolean;
    /**
     * Get connection manager statistics
     * @returns Connection manager statistics
     */
    getStats(): Record<string, any>;
    /**
     * Clean up resources
     */
    destroy(): void;
}
/**
 * Create a connection manager
 * @param apiUrl API URL
 * @param options Additional connection manager options
 * @returns A new connection manager instance
 */
export declare function createConnectionManager(apiUrl: string, options?: Partial<Omit<ConnectionManagerOptions, 'apiUrl'>>): ConnectionManager;
/**
 * Export default connection manager utilities
 */
declare const _default: {
    ConnectionManager: typeof ConnectionManager;
    createConnectionManager: typeof createConnectionManager;
    ConnectionState: typeof ConnectionState;
};
export default _default;
//# sourceMappingURL=connection-manager.d.ts.map