import { Currency } from '../model';
export interface Wallet {
    /**
     * mnemonic seed
     */
    mnemonic: string;
    /**
     * extended public key to derive addresses from
     */
    xpub: string;
}
/**
 * Generate BnB wallet
 * @param testnet testnet or mainnet version of address
 * @returns wallet
 */
export declare const generateBnbWallet: (testnet: boolean) => Promise<{
    address: string;
    privateKey: string;
}>;
/**
 * Generate VeChain wallet
 * @param testnet testnet or mainnet version of address
 * @param mnem mnemonic seed to use
 * @returns wallet
 */
export declare const generateVetWallet: (testnet: boolean, mnem: string) => Promise<Wallet>;
/**
 * Generate Ethereum or any other ERC20 wallet
 * @param testnet testnet or mainnet version of address
 * @param mnem mnemonic seed to use
 * @returns wallet
 */
export declare const generateEthWallet: (testnet: boolean, mnem: string) => Promise<Wallet>;
/**
 * Generate Polygon or any other ERC20 wallet
 * @param testnet testnet or mainnet version of address
 * @param mnem mnemonic seed to use
 * @returns wallet
 */
export declare const generatePolygonWallet: (testnet: boolean, mnem: string) => Promise<Wallet>;
/**
 * Generate Polygon or any other ERC20 wallet
 * @param testnet testnet or mainnet version of address
 * @param mnem mnemonic seed to use
 * @returns wallet
 */
export declare const generateKlaytnWallet: (testnet: boolean, mnem: string) => Promise<Wallet>;
/**
 * Generate Harmony or any other ERC20 wallet
 * @param testnet testnet or mainnet version of address
 * @param mnem mnemonic seed to use
 * @returns wallet
 */
export declare const generateOneWallet: (testnet: boolean, mnem: string) => Promise<Wallet>;
/**
 * Generate EGLD wallet
 * @param testnet
 * @param mnem mnemonic seed to use
 * @returns wallet
 */
export declare const generateEgldWallet: (mnem: string) => Promise<{
    mnemonic: string;
}>;
/**
 * Generate Flow or FUSD wallet
 * @param mnem mnemonic seed to use
 * @returns wallet
 */
export declare const generateFlowWallet: (mnem: string) => Promise<Wallet>;
/**
 * Generate BSC or any other BEP-20 or BEP-721 wallet
 * @param testnet testnet or mainnet version of address
 * @param mnem mnemonic seed to use
 * @returns wallet
 */
export declare const generateBscWallet: (testnet: boolean, mnem: string) => Promise<Wallet>;
export declare const generateXdcWallet: (testnet: boolean, mnem: string) => Promise<Wallet>;
/**
 * Generate Celo or any other ERC20 wallet
 * @param testnet testnet or mainnet version of address
 * @param mnem mnemonic seed to use
 * @returns wallet
 */
export declare const generateCeloWallet: (testnet: boolean, mnem: string) => Promise<Wallet>;
/**
 * Generate Bitcoin Cash wallet
 * @param testnet testnet or mainnet version of address
 * @param mnem mnemonic seed to use
 * @returns wallet
 */
export declare const generateBchWallet: (testnet: boolean, mnem: string) => Promise<Wallet>;
/**
 * Generate Bitcoin wallet
 * @param testnet testnet or mainnet version of address
 * @param mnem mnemonic seed to use
 * @returns wallet
 */
export declare const generateBtcWallet: (testnet: boolean, mnem: string) => Promise<Wallet>;
/**
 * Generate Doge wallet
 * @param testnet testnet or mainnet version of address
 * @param mnem mnemonic seed to use
 * @returns wallet
 */
export declare const generateDogeWallet: (testnet: boolean, mnem: string) => Promise<Wallet>;
/**
 * Generate Tron wallet
 * @returns mnemonic for the wallet
 */
export declare const generateTronWallet: (mnem: string) => Promise<{
    mnemonic: string;
    xpub: string;
}>;
/**
 * Generate Litecoin wallet
 * @param testnet testnet or mainnet version of address
 * @param mnem mnemonic seed to use
 * @returns wallet
 */
export declare const generateLtcWallet: (testnet: boolean, mnem: string) => Promise<Wallet>;
/**
 * Generate Xrp address and secret.
 */
export declare const generateXrpWallet: () => {
    address: string | undefined;
    secret: string;
};
/**
 * Generate Stellar address and secret.
 * @param secret secret of the account to generate address
 */
export declare const generateXlmWallet: (secret?: string | undefined) => {
    address: string;
    secret: string;
};
/**
 * Generate ADA wallet
 * @param mnemonic mnemonic seed to use
 * @returns wallet
 */
export declare const generateAdaWallet: (mnemonic: string) => Promise<Wallet>;
/**
 * Generate Algo wallet
 * @param mnem mnemonic seed to use
 * @returns address and secret
 */
export declare const generateAlgoWallet: (mnem?: string | undefined) => Promise<{
    address: any;
    secret: any;
}>;
/**
 * Generate wallet
 * @param currency blockchain to generate wallet for
 * @param testnet testnet or mainnet version of address
 * @param mnemonic mnemonic seed to use. If not present, new one will be generated
 * @returns wallet or a combination of address and private key
 */
export declare const generateWallet: (currency: Currency, testnet: boolean, mnemonic?: string | undefined) => Promise<{
    mnemonic: string;
}> | Promise<{
    address: string;
    privateKey: string;
}> | {
    address: string | undefined;
    secret: string;
} | Promise<{
    address: any;
    secret: any;
}>;
