import AccountBase from './Base.js';
import { Encoded } from '../utils/encoder.js';
import RpcClient from '../aepp-wallet-communication/rpc/RpcClient.js';
import { AeppApi, WalletApi } from '../aepp-wallet-communication/rpc/types.js';
/**
 * Account provided by wallet
 * @param params - Params
 * @param params.rpcClient - RpcClient instance
 * @param params.address - RPC account address
 * @returns AccountRpc instance
 * @category account
 */
export default class AccountRpc extends AccountBase {
    _rpcClient: RpcClient<WalletApi, AeppApi>;
    readonly address: Encoded.AccountAddress;
    constructor(rpcClient: RpcClient<WalletApi, AeppApi>, address: Encoded.AccountAddress);
    /**
     * @deprecated Use `unsafeSign` method instead
     */
    sign(dataRaw: string | Uint8Array): Promise<Uint8Array>;
    unsafeSign(dataRaw: string | Uint8Array): Promise<Uint8Array>;
    signTransaction(tx: Encoded.Transaction, { innerTx, networkId }?: Parameters<AccountBase['signTransaction']>[1]): Promise<Encoded.Transaction>;
    signMessage(message: string): Promise<Uint8Array>;
    signTypedData(data: Encoded.ContractBytearray, aci: Parameters<AccountBase['signTypedData']>[1], { name, version, contractAddress, networkId }?: Parameters<AccountBase['signTypedData']>[2]): Promise<Encoded.Signature>;
    signDelegation(delegation: Encoded.Bytearray): Promise<Encoded.Signature>;
}
