import { Flutterwave } from './flutterwave';
export declare abstract class FlutterwaveCommon implements Flutterwave {
    static PAYMENT_SUCCESS: string;
    static PAYMENT_ERROR: string;
    static PAYMENT_CANCELLED: string;
    country: string;
    amount: number;
    currency: string;
    firstName?: string;
    lastName?: string;
    email: string;
    publicKey: string;
    encryptionKey: string;
    narration: string;
    txRef: string;
    phoneNumber: string;
    payments: {
        account?: boolean;
        card?: boolean;
        mpesa?: boolean;
        ghMobileMoney?: boolean;
        ugMobileMoney?: boolean;
        zmMobileMoney?: boolean;
        rwfMobileMoney?: boolean;
        saBank?: boolean;
        uk?: boolean;
        ach?: boolean;
        bankTransfer?: boolean;
        ussd?: boolean;
        barter?: boolean;
        francMobileMoney?: boolean;
    };
    saveCard?: boolean;
    isPreAuth?: boolean;
    isStaging?: boolean;
    shouldDisplayFee?: boolean;
    showStagingLabel?: boolean;
    validate(): Promise<Response>;
    pay(): Promise<Response>;
}
export declare class Response {
    private status;
    private data;
    private reference;
    constructor(status: string, data: any, reference?: string);
}
