import { Eip712ConvertFeeArgs, Eip712ConvertTxArgs, Msgs } from '../../core';
import { EthereumChainId } from '../../ts-types';
import { TxRaw } from './lib/@buf/cosmos_cosmos-sdk.bufbuild_es/cosmos/tx/v1beta1/tx_pb.js';
import { TxContext, TxToSend } from './types';
export declare const getEtherMintTxPayload: (context: TxContext, eipData: {
    msgs: Msgs | Msgs[];
    tx: Eip712ConvertTxArgs;
    fee?: Eip712ConvertFeeArgs;
    ethereumChainId: EthereumChainId;
}) => {
    signDirect: {
        body: import("./lib/@buf/cosmos_cosmos-sdk.bufbuild_es/cosmos/tx/v1beta1/tx_pb").TxBody;
        authInfo: import("./lib/@buf/cosmos_cosmos-sdk.bufbuild_es/cosmos/tx/v1beta1/tx_pb").AuthInfo;
        signBytes: string;
    };
    legacyAmino: {
        body: import("./lib/@buf/cosmos_cosmos-sdk.bufbuild_es/cosmos/tx/v1beta1/tx_pb").TxBody;
        authInfo: import("./lib/@buf/cosmos_cosmos-sdk.bufbuild_es/cosmos/tx/v1beta1/tx_pb").AuthInfo;
        signBytes: string;
    };
    eipToSign: {
        message: {
            msgs: ({
                type: string;
                value: Pick<import("../../core/authz/msgs/MsgGrant").MsgGrant.Amino, "granter" | "grantee" | "grant">;
            } | {
                type: string;
                value: Pick<import("../../core/authz/msgs/MsgRevoke").MsgRevoke.Amino, "granter" | "grantee" | "msgTypeUrl">;
            } | {
                type: string;
                value: Pick<import("../../core/authz/msgs/MsgExec").MsgExec.Amino, "grantee" | "msgsList">;
            } | {
                type: string;
                value: Pick<import("../../core/bank/msgs/MsgSend").MsgSend.Amino, "fromAddress" | "toAddress" | "amountList">;
            } | {
                type: string;
                value: Pick<import("../../core/gov/msgs/MsgDeposit").MsgDeposit.Amino, "amountList" | "proposalId" | "depositor">;
            } | {
                type: string;
                value: Pick<import("../../core/gov/msgs/MsgSubmitTextProposal").MsgSubmitTextProposal.Amino, "content" | "initialDepositList" | "proposer">;
            } | {
                type: string;
                value: Pick<import("../../core/gov/msgs/MsgVote").MsgVote.Amino, "proposalId" | "voter" | "option">;
            } | {
                type: string;
                value: Pick<import("../../core/ibc/msgs/MsgTransfer").MsgTransfer.Amino, "sender" | "timeoutHeight" | "sourcePort" | "sourceChannel" | "token" | "receiver" | "timeoutTimestamp">;
            } | {
                type: string;
                value: Pick<import("../../core/distribution/msgs/MsgWithdrawDelegatorReward").MsgWithdrawDelegatorReward.Amino, "delegatorAddress" | "validatorAddress">;
            } | {
                type: string;
                value: Pick<import("../../core/staking/msgs/MsgBeginRedelegate").MsgBeginRedelegate.Amino, "amount" | "delegatorAddress" | "validatorSrcAddress" | "validatorDstAddress">;
            } | {
                type: string;
                value: Pick<import("../../core/wasm/msgs/MsgStoreCode").MsgStoreCode.Amino, "sender" | "wasmByteCode" | "instantiatePermission">;
            } | {
                type: string;
                value: Pick<import("../../core/rwasm/msgs/MsgCwStoreCode").MsgCwStoreCode.Amino, "sender" | "wasmByteCode">;
            } | {
                type: string;
                value: Pick<import("../../core/wasm/msgs/MsgInstantiateContract").MsgInstantiateContract.Amino, "sender" | "admin" | "codeId" | "label" | "msg" | "fundsList">;
            } | {
                type: string;
                value: Pick<import("../../core/rwasm/msgs/MsgInstantiateCwContract").MsgInstantiateCwContract.Amino, "sender" | "admin" | "codeId" | "label" | "msg" | "funds">;
            } | {
                type: string;
                value: Pick<import("../../core/wasm/msgs/MsgExecuteContract").MsgExecuteContract.Amino, "sender" | "msg" | "fundsList" | "contract">;
            } | {
                type: string;
                value: Pick<import("../../core/rwasm/msgs/MsgExecuteCwContract").MsgExecuteCwContract.Amino, "sender" | "msg" | "funds" | "contract">;
            } | {
                type: string;
                value: Pick<import("../../core/wasm/msgs/MsgUpdateAdmin").MsgUpdateAdmin.Amino, "sender" | "contract" | "newAdmin">;
            } | {
                type: string;
                value: Pick<import("../../core/wasm/msgs/MsgMigrateContract").MsgMigrateContract.Amino, "sender" | "codeId" | "msg" | "contract">;
            } | {
                type: string;
                value: Pick<import("../../core/metastore/msgs/MsgApproveFeepayerRequest").MsgApproveFeepayerRequest.Amino, "chainId" | "feePayer" | "dappAddress">;
            } | {
                type: string;
                value: Pick<import("../../core/metastore/msgs/MsgRevokeFeepayerRequest").MsgRevokeFeepayerRequest.Amino, "feepayer" | "chainid" | "dappaddress">;
            } | {
                type: string;
                value: Pick<import("../../core/slashing/msgs/MsgUnjail").MsgUnjail.Amino, "validatorAddr">;
            })[];
            fee: {
                amount: {
                    amount: string;
                    denom: string;
                }[];
                gas: string;
                feePayer?: string | undefined;
            };
            account_number: string;
            chain_id: string;
            sequence: string;
            memo: string;
        };
        domain: {
            name: string;
            version: string;
            chainId: EthereumChainId;
            salt: string;
            verifyingContract: string;
        };
        types: {
            EIP712Domain: {
                name: string;
                type: string;
            }[];
            Tx: {
                name: string;
                type: string;
            }[];
            Fee: {
                name: string;
                type: string;
            }[];
            Coin: {
                name: string;
                type: string;
            }[];
            Msg: {
                name: string;
                type: string;
            }[];
        };
        primaryType: string;
    };
};
export declare function createTxRawForBroadcast(bodyBytes: Uint8Array, authInfoBytes: Uint8Array, signatures: Uint8Array[]): {
    message: TxRaw;
    path: string;
};
export declare const simulateRawTx: (signedTx: TxToSend, nodeUrl: string) => Promise<any>;
export declare const broadcastRawTx: (signedTx: TxToSend, nodeUrl: string) => Promise<any>;
