import type { PayChangu } from "./index";
export interface PayChanguErrorResponse {
    status: "error";
    message: string;
}
export interface PayChanguDirectChargeResponse {
    status: "success";
    message: string;
    data: {
        transaction: PayChangu.BaseTransaction;
        payment_account_details: {
            account_name: string;
            account_number: string;
            code: string;
            name: string;
        };
    };
}
export interface PayChanguDirectChargeErrorResponse {
    status: "failed";
    message: string;
    errors: Record<string, string[]>;
}
export interface PayChanguSingleTransactionResponse {
    status: "success";
    message: string;
    data: {
        transaction: PayChangu.BaseTransaction;
    };
}
export interface PayChanguMobileMoneyOperatorsResponse {
    status: "success";
    message: string;
    data: Array<{
        id: number;
        name: string;
        code: string;
        ref_id: string;
        country_iso: string;
        currency: string;
        is_active: boolean;
        created_at: string;
        updated_at: string;
    }>;
}
export interface PayChanguMobileMoneyPayoutResponse {
    status: "success";
    message: string;
    data: {
        charge_id: string;
        mobile: string;
        amount: string;
        status: string;
        created_at: string;
        completed_at: string | null;
    };
}
export interface PayChanguSinglePayoutResponse {
    status: "success";
    message: string;
    data: {
        charge_id: string;
        mobile: string;
        amount: string;
        status: string;
        created_at: string;
        completed_at: string | null;
    };
}
export interface PayChanguSupportedBanksResponse {
    status: "success";
    message: string;
    data: Array<{
        uuid: string;
        name: string;
        code: string;
        currency: string[];
        is_active: boolean;
        created_at: string;
        updated_at: string;
    }>;
}
export interface PayChanguBankPayoutResponse {
    status: "success";
    message: string;
    data: {
        transaction: {
            id: string;
            charge_id: string;
            bank_uuid: string;
            bank_name: string;
            bank_code: string;
            bank_account_name: string;
            bank_account_number: string;
            amount: string;
            currency: string;
            status: string;
            email: string | null;
            first_name: string | null;
            last_name: string | null;
            created_at: string;
            completed_at: string | null;
        };
    };
}
export interface PayChanguSingleBankPayoutResponse {
    status: "successful" | "success";
    message: string;
    data: {
        id: string;
        charge_id: string;
        bank_uuid: string;
        bank_name: string;
        bank_code: string;
        bank_account_name: string;
        bank_account_number: string;
        amount: string;
        currency: string;
        status: string;
        email: string | null;
        first_name: string | null;
        last_name: string | null;
        created_at: string;
        completed_at: string | null;
    };
}
export interface PayChanguAllBankPayoutsResponse {
    status: "success";
    message: string;
    current_page: number;
    total_pages: number;
    per_page: number;
    next_page_url: string | null;
    data: Array<{
        id: string;
        charge_id: string;
        bank_uuid: string;
        bank_name: string;
        bank_code: string;
        bank_account_name: string;
        bank_account_number: string;
        amount: string;
        currency: string;
        status: string;
        email: string | null;
        first_name: string | null;
        last_name: string | null;
        created_at: string;
        completed_at: string | null;
    }>;
}
export interface PayChanguDirectChargeBankTransferResponse {
    status: "success";
    message: string;
    data: {
        transaction: PayChangu.BaseTransaction;
        payment_account_details: {
            account_name: string;
            account_number: string;
            code: string;
            name: string;
        };
        redirectUrl?: string;
    };
}
export interface PayChanguDirectChargePaymentResponse extends PayChangu.ServiceResponse<{
    TransactionDetails: PayChangu.BaseTransaction;
    PaymentAccountDetails: {
        account_name: string;
        account_number: string;
        code: string;
        name: string;
    };
    HasError: boolean;
    StackTraceError?: unknown;
}> {
}
export interface PayChanguTransactionDetailsResponse extends PayChangu.ServiceResponse<{
    TransactionDetails: PayChangu.BaseTransaction;
    HasError: boolean;
    StackTraceError?: unknown;
}> {
}
export interface PayChanguOperatorsResponse extends PayChangu.ServiceResponse<{
    Operators: Array<{
        id: number;
        name: string;
        code: string;
        ref_id: string;
        country_iso: string;
        currency: string;
        is_active: boolean;
        created_at: string;
        updated_at: string;
    }>;
    HasError: boolean;
    StackTraceError?: unknown;
}> {
}
export interface PayChanguPayoutResponse extends PayChangu.ServiceResponse<{
    PayoutDetails: {
        charge_id: string;
        mobile: string;
        amount: string;
        status: string;
        created_at: string;
        completed_at: string | null;
    };
    HasError: boolean;
    StackTraceError?: unknown;
}> {
}
export interface PayChanguPayoutDetailsResponse extends PayChangu.ServiceResponse<{
    PayoutDetails: {
        charge_id: string;
        mobile: string;
        amount: string;
        status: string;
        created_at: string;
        completed_at: string | null;
    };
    HasError: boolean;
    StackTraceError?: unknown;
}> {
}
export interface PayChanguBanksResponse extends PayChangu.ServiceResponse<{
    Banks: Array<{
        uuid: string;
        name: string;
        code: string;
        currency: string[];
        is_active: boolean;
        created_at: string;
        updated_at: string;
    }>;
    HasError: boolean;
    StackTraceError?: unknown;
}> {
}
export interface PayChanguBankTransferResponse extends PayChangu.ServiceResponse<{
    TransactionDetails: {
        id: string;
        charge_id: string;
        bank_uuid: string;
        bank_name: string;
        bank_code: string;
        bank_account_name: string;
        bank_account_number: string;
        amount: string;
        currency: string;
        status: string;
        email: string | null;
        first_name: string | null;
        last_name: string | null;
        created_at: string;
        completed_at: string | null;
    };
    HasError: boolean;
    StackTraceError?: unknown;
}> {
}
export interface PayChanguBankPayoutDetailsResponse extends PayChangu.ServiceResponse<{
    PayoutDetails: {
        id: string;
        charge_id: string;
        bank_uuid: string;
        bank_name: string;
        bank_code: string;
        bank_account_name: string;
        bank_account_number: string;
        amount: string;
        currency: string;
        status: string;
        email: string | null;
        first_name: string | null;
        last_name: string | null;
        created_at: string;
        completed_at: string | null;
    };
    HasError: boolean;
    StackTraceError?: unknown;
}> {
}
export interface PayChanguBankPayoutsListResponse extends PayChangu.ServiceResponse<{
    Payouts: Array<{
        id: string;
        charge_id: string;
        bank_uuid: string;
        bank_name: string;
        bank_code: string;
        bank_account_name: string;
        bank_account_number: string;
        amount: string;
        currency: string;
        status: string;
        email: string | null;
        first_name: string | null;
        last_name: string | null;
        created_at: string;
        completed_at: string | null;
    }>;
    Pagination: {
        CurrentPage: number;
        TotalPages: number;
        PerPage: number;
        NextPageUrl: string | null;
    };
    HasError: boolean;
    StackTraceError?: unknown;
}> {
}
export interface PayChanguBankTransferPaymentResponse extends PayChangu.ServiceResponse<{
    TransactionDetails: PayChangu.BaseTransaction;
    PaymentAccountDetails: {
        account_name: string;
        account_number: string;
        code: string;
        name: string;
    };
    RedirectUrl?: string;
    HasError: boolean;
    StackTraceError?: unknown;
}> {
}
export interface PayChanguVerifyTransactionResponse {
    status: "success";
    message: string;
    data: {
        event_type: string;
        tx_ref: string;
        mode: string;
        type: string;
        status: string;
        number_of_attempts: number;
        reference: string;
        currency: string;
        amount: number;
        charges: number;
        customization: {
            title: string;
            description: string;
            logo: string | null;
        };
        meta: Record<string, unknown> | null;
        authorization: {
            channel: string;
            card_number?: string;
            expiry?: string;
            brand?: string;
            provider: string | null;
            mobile_number: string | null;
            completed_at: string;
        };
        customer: {
            email: string;
            first_name: string;
            last_name: string;
        };
        logs: Array<{
            type: string;
            message: string;
            created_at: string;
        }>;
        created_at: string;
        updated_at: string;
    };
}
export interface PayChanguPaymentInitiationResponse {
    message: string;
    status: "success" | "failed";
    data: {
        event: string;
        checkout_url: string;
        data: {
            tx_ref: string;
            currency: string;
            amount: number;
            mode: string;
            status: string;
        };
    } | null;
}
export interface PayChanguPaymentInitiationErrorResponse {
    status: "failed";
    message: string;
    data: string | null;
}
//# sourceMappingURL=response.d.ts.map