import { ITatumSdkContainer, Network, TatumSdkWalletProvider } from '@tatumio/tatum';
import { TezosTxPayload, TezosWallet } from './types';
export declare class TezosWalletProvider extends TatumSdkWalletProvider<TezosWallet, TezosTxPayload> {
    private readonly rpc;
    private readonly chain;
    constructor(tatumSdkContainer: ITatumSdkContainer);
    /**
     * Generates a mnemonic seed phrase.
     * @returns {string} A mnemonic seed phrase.
     */
    generateMnemonic(): string;
    /**
     * Generates a private key based on a mnemonic and a derivation path.
     * If no derivation path is provided, default is used.
     * @param {string} mnemonic - The mnemonic seed phrase.
     * @param {string} [path] - The derivation path.
     * @returns {string} A private key in a string format.
     */
    generatePrivateKeyFromMnemonic(mnemonic: string, path?: string): Promise<string>;
    /**
     * Generates an address from a given private key.
     * @param {string} privateKey - The private key in string format.
     * @returns {string} An address in string format.
     */
    generateAddressFromPrivateKey(privateKey: string): Promise<string>;
    /**
     * Gets a Tezos wallet, which includes an address, private key, and a mnemonic.
     * @returns {TezosWallet} An object containing address, private key, and mnemonic.
     */
    getWallet(): Promise<TezosWallet>;
    /**
     * Signs and broadcasts a Tezos transaction payload.
     * @param {TezosTxPayload} payload - The Tezos transaction payload, which includes private key and transaction details.
     * @returns {Promise<string>} A promise that resolves to the transaction hash.
     */
    signAndBroadcast(payload: TezosTxPayload): Promise<string>;
    supportedNetworks: Network[];
}
