export declare const baseURL: URL;
export interface IKeys {
    consumer_key: string;
    consumer_secret: string;
    ipn_id: string;
}
export interface ITokenResponse {
    token: string;
    expiryDate: string;
    error: any;
    status: string;
    message: string;
}
export interface ISubmitOrderRequest {
    id: string;
    currency: string;
    amount: number;
    description: string;
    callback_url: string;
    redirect_mode: string;
    notification_id: string;
    branch: string;
    billing_address: Partial<IBillingAddress> | IBillingAddress;
}
interface IBillingAddress {
    email_address: string;
    phone_number: string;
    country_code: string;
    first_name: string;
    middle_name: string;
    last_name: string;
    line_1: string;
    line_2: string;
    city: string;
    state: string;
    postal_code: string;
    zip_code: string;
}
export interface IIPNRequest {
    url: string;
    ipn_notification_type: string;
}
export interface IIPNResponse {
    url: string;
    created_date: string;
    ipn_id: string;
    error: null | any;
    status: string;
}
export interface ISubmitOrderResponse {
    order_tracking_id: string;
    merchant_reference: string;
    redirect_url: string;
    error: null | any;
    status: string;
}
export interface ITransactionStatusResponse {
    payment_method: string;
    amount: number;
    created_date: string;
    confirmation_code: string;
    payment_status_description: string;
    description: string;
    message: string;
    payment_account: string;
    call_back_url: string;
    status_code: number;
    merchant_reference: string;
    payment_status_code: string;
    currency: string;
    error: {
        error_type: string | null;
        code: string | null;
        message: string | null;
        call_back_url: string | null;
    };
    status: string;
}
export interface IRecurringPaymentsRequest extends Partial<ISubmitOrderRequest> {
    account_number: string;
    subscription_details: Partial<{
        start_date: string;
        end_date: string;
        frequency: EFrequency;
    }>;
}
declare enum EFrequency {
    DAILY = "DAILY",
    WEEKLY = "WEEKLY",
    MONTHLY = "MONTHLY",
    YEARLY = "YEARLY"
}
export interface IRecurringPaymentsResponse {
    payment_method: string;
    amount: number;
    created_date: string;
    confirmation_code: string;
    payment_status_description: string;
    description: string;
    message: string;
    payment_account: string;
    call_back_url: string;
    status_code: number;
    merchant_reference: string;
    payment_status_code: string;
    currency: string;
    subscription_transaction_info: {
        account_reference: string;
        amount: number;
        first_name: string;
        last_name: string;
        correlation_id: number;
    };
    error: {
        error_type: string | null;
        code: string | null;
        message: string | null;
        call_back_url: string | null;
    };
    status: string;
}
export interface IRefundRequest {
    confirmation_code: string;
    amount: string;
    username: string;
    remarks: string;
}
export interface IRefundResponse {
    message: string;
    status: string;
}
export {};
