/**
 *  All wallet functionality and methods
 * @class wallet
 */
declare class Wallet {
    static secretKey: string;
    static endpoint: string;
    /**
     * Performs a debit on a sub wallet
     */
    static debit(options: {
        transactionReference: string;
        amount: number;
        phoneNumber: string;
    }): Promise<import("axios").AxiosResponse<any>>;
    /**
     * Performs a credit on a sub wallet
     */
    static credit(options: {
        transactionReference: string;
        amount: number;
        phoneNumber: string;
    }): Promise<import("axios").AxiosResponse<any>>;
    /**
     * Creates a new customer
     */
    static create(options: CreateOptions): Promise<import("axios").AxiosResponse<any>>;
    /**
     * Verifies new customer
     */
    static verify(options: {
        phoneNumber: string;
        otp: string;
    }): Promise<import("axios").AxiosResponse<any>>;
    /**
     * Generate
     */
    static generate(options: CreateOptions & {
        currency?: string;
    }): Promise<import("axios").AxiosResponse<any>>;
    /**
     * Generates account number
     * @params {string} phone - phone to generate account number against
     */
    static generateAccountNumber(phone: string): Promise<import("axios").AxiosResponse<any>>;
    /**
     * Retrieves account number
     */
    static retrieveAccountNumber(phone: string): Promise<import("axios").AxiosResponse<any>>;
    /**
     * Sets password against a phone number
     */
    static setPassword(options: {
        phoneNumber: string;
        password: string;
    }): Promise<import("axios").AxiosResponse<any>>;
    /**
     * Sets pin
     */
    static setPin(options: {
        phoneNumber: string;
        transactionPin: string;
    }): Promise<import("axios").AxiosResponse<any>>;
    /**
     * Returns transaction
     */
    static transactions(options: TransactionOptions & {
        transactionPin: string;
    }): Promise<import("axios").AxiosResponse<any>>;
    /**
     * Verifies BVN
     */
    static verifyBvn(options: {
        dateOfBirth: string;
        bvn: string;
        phoneNumber: string;
    }): Promise<import("axios").AxiosResponse<any>>;
    /**
     * Gets a user
     */
    static getUser(phone: string): Promise<import("axios").AxiosResponse<any>>;
    /**
     * Returns wallet balance
     */
    static getBalance(options: {
        phoneNumber: string;
        transactionPin: string;
        currency?: currencyType;
    }): Promise<import("axios").AxiosResponse<any>>;
}
export default Wallet;
