import { Provider, TransactionRequest } from '@ethersproject/providers';
import { ethers } from 'ethers';
import { EthereumWallet } from './interface';
export default class extends ethers.Signer implements EthereumWallet {
    provider: ethers.providers.StaticJsonRpcProvider;
    private _wallet;
    constructor(config: {
        providerUrl: string;
        chainId: number;
    });
    getAddress(): Promise<string>;
    signMessage(message: string | ethers.utils.Bytes): Promise<string>;
    signTransaction(transaction: TransactionRequest): Promise<string>;
    connect(provider: Provider): ethers.Signer;
    sendTransaction(transaction: TransactionRequest): Promise<ethers.providers.TransactionResponse>;
    sendTransactionOutHash(transaction: TransactionRequest): Promise<string>;
    sendCustomRequest(method: string, params: any[]): Promise<any>;
    isAvailable(): Promise<boolean>;
    isConnected(): Promise<boolean>;
    connectWallet(): Promise<void>;
    disconnectWallet(): Promise<void>;
    getMeta(): Promise<{
        name: string;
        description: string;
        icon: any;
    }>;
    getLastUsage(): Promise<any>;
    private _initWallet;
}
