import { ConfigService } from "@nestjs/config";
import { MerchantProviderConfig, Provider, ProviderMode } from "@prisma/client";
import { EncryptionService } from "../common/crypto/encryption.service";
import { PrismaService } from "../prisma/prisma.service";
import { ProviderAdapter } from "./provider-adapter.interface";
interface RouteInput {
    merchantId: string;
    country: string;
    currency: string;
    requestedProvider?: Provider | null;
    mode?: ProviderMode;
}
interface RouteResult {
    config: MerchantProviderConfig;
    adapter: ProviderAdapter;
}
export declare class ProviderRouterService {
    private readonly prisma;
    private readonly encryption;
    private readonly config;
    constructor(prisma: PrismaService, encryption: EncryptionService, config: ConfigService);
    route(input: RouteInput): Promise<RouteResult>;
    getById(merchantId: string, providerConfigId: string): Promise<RouteResult>;
    private buildAdapter;
}
export {};
