import { InputBody, Transaction, AccountResponse, SignMessage, TransactionData, SignTypedData, BroadCastRawTransactionResponse } from '@moonup/moon-api';

declare const useMoonAccounts: () => {
    transferEth: (payload: {
        accountName: string;
        transaction: InputBody;
    }) => Promise<Transaction>;
    getBalance: (payload: {
        accountName: string;
        chainId: string;
    }) => Promise<{
        balance: string;
    }>;
    listAccounts: () => Promise<AccountResponse>;
    createAccount: () => Promise<AccountResponse>;
    getAccount: (payload: {
        id: string;
    }) => Promise<AccountResponse>;
    deleteAccount: (payload: {
        id: string;
    }) => Promise<AccountResponse>;
    signTransaction: (payload: {
        accountName: string;
        transaction: InputBody;
    }) => Promise<Transaction>;
    signMessage: (payload: {
        id: string;
        message: SignMessage;
    }) => Promise<TransactionData>;
    signTypedData: (payload: {
        id: string;
        typedData: SignTypedData;
    }) => Promise<TransactionData>;
    broadcastTx: (payload: {
        id: string;
        transaction: string;
        chain_id: string;
    }) => Promise<BroadCastRawTransactionResponse>;
};

export { useMoonAccounts };
