import { ApiInternal } from './api-internal';
export declare class ApiChargeInternal {
    protected api: ApiInternal;
    constructor(api: ApiInternal);
    walletCapture(payload: WalletCaptureBody): Promise<WalletCaptureResponse>;
    walletCallback(payload: WalletCallbackBody): Promise<WalletCallbackResponse>;
    standalone3dsProcess(payload: Standalone3dsProcessBody): Promise<ProcessAuthenticationResponse>;
    standalone3dsHandle(): Promise<HandleResponseInterface>;
}
interface WalletCaptureResponse {
    id: string;
    amount: number;
    currency: string;
    status: string;
}
interface WalletCaptureBody {
    payment_method_id?: string;
    customer?: {
        payment_source?: {
            type?: string;
            card_name?: string;
            card_scheme?: string;
            card_number_last4?: string;
            expire_month?: number;
            expire_year?: number;
            address_line1?: string;
            address_line2?: string;
            address_city?: string;
            address_postcode?: string;
            address_state?: string;
            address_country?: string;
            external_payer_id?: string;
            ref_token?: string;
            wallet_express?: boolean;
        };
    };
}
interface WalletCallbackBody {
    request_type: string;
}
interface WalletCallbackResponse {
    id: string;
    status: string;
    callback_method: string;
    callback_rel: string;
    callback_url: string;
}
interface Standalone3dsProcessBody {
    charge_3ds_id: string;
}
export interface HandleResponseInterface {
    status: string;
    error: string;
    result: {
        reference: string;
        reference_2: string;
        identifier: string;
        identifier_2: string;
        identifier_3: string;
        identifier_4: string;
        identifier_5: string;
        type: string;
        status: string;
        status_2: string;
        status_code: string;
        ref_token: string;
        cancellation: string;
        count: string;
        version: string;
        whitelist: {
            status: string;
            source: string;
        };
        result: string;
    };
}
export interface ProcessAuthenticationResponse {
    status: string;
    error?: string;
    result?: {
        challenge: string;
        challenge_url: string;
        decoupled_challenge: boolean;
        frictionless: boolean;
        identifier: string;
        identifier_3: string;
        identifier_4: string;
        reference: string;
        reference_2: string;
        secondary_url: string;
        skipped: boolean;
        status: string;
        type: string;
        version: string;
        description?: string;
    };
}
export {};
//# sourceMappingURL=api-charge-internal.d.ts.map