import { BankProvider } from '../types/enums';
import { ProviderEndpoints } from '../types/interfaces';
/**
 * Comprehensive provider endpoint mappings for all Turkish banks
 * Each bank has its own production and test endpoints for API and 3D Secure
 */
export declare class ProviderEndpointManager {
    /**
     * Complete endpoint mappings for all supported banks
     */
    private static readonly PROVIDER_ENDPOINTS;
    /**
     * Get endpoints for a specific provider
     * @param provider Bank provider
     * @param isTestMode Whether to use test endpoints
     * @param customEndpoints Custom endpoints for CUSTOM provider
     * @returns Provider endpoints
     */
    static getEndpoints(provider: BankProvider, isTestMode?: boolean, customEndpoints?: ProviderEndpoints): {
        api: string;
        threeD: string;
    };
    /**
     * Get all available providers
     * @returns Array of all bank providers
     */
    static getAvailableProviders(): BankProvider[];
    /**
     * Auto-detect provider from client ID
     * @param clientId Client ID
     * @returns Detected provider or null
     */
    static detectProviderFromClientId(clientId: string): BankProvider | null;
    /**
     * Validate provider configuration
     * @param provider Bank provider
     * @param customEndpoints Custom endpoints if applicable
     * @returns Validation result
     */
    static validateProvider(provider: BankProvider, customEndpoints?: ProviderEndpoints): {
        isValid: boolean;
        errors: string[];
    };
    /**
     * Get provider display name
     * @param provider Bank provider
     * @returns Display name
     */
    static getProviderDisplayName(provider: BankProvider): string;
}
/**
 * Default provider endpoint manager instance
 */
export declare const providerEndpointManager: ProviderEndpointManager;
//# sourceMappingURL=provider-endpoints.d.ts.map