import { Provider } from "@prisma/client";
import { ProviderAdapter, ProviderCreatePaymentInput, ProviderCreatePaymentResult, ProviderGetPaymentResult, ProviderPaymentStatus, ProviderRefundInput, ProviderRefundResult } from "../provider-adapter.interface";
export interface DlocalCredentials {
    apiKey: string;
    secretKey: string;
}
interface DlocalConfig {
    baseUrl: string;
    mode: "sandbox" | "live";
    credentials: DlocalCredentials;
}
interface DlocalPaymentResponse {
    id: string;
    status: string;
    status_code?: string;
    status_detail?: string;
    redirect_url?: string;
    payment_method_type?: string;
}
export declare class DlocalAdapter implements ProviderAdapter {
    private readonly config;
    readonly provider: Provider;
    private readonly logger;
    private readonly http;
    constructor(config: DlocalConfig);
    createPayment(input: ProviderCreatePaymentInput): Promise<ProviderCreatePaymentResult>;
    getPayment(providerPaymentId: string): Promise<ProviderGetPaymentResult>;
    refund(input: ProviderRefundInput): Promise<ProviderRefundResult>;
    parseWebhook(rawBody: string, headers: Record<string, string>): {
        providerPaymentId: string;
        status: ProviderPaymentStatus;
        raw: DlocalPaymentResponse;
    } | null;
    private buildPayer;
    private defaultDocTypeForCountry;
    private mapStatus;
    private mapMethod;
    private mapRefundStatus;
    private errMsg;
}
export {};
