import { TxBody, SignDoc, SignerInfo, AuthInfo, Fee, TxRaw } from '@routerprotocol/chain-api/cosmos/tx/v1beta1/tx_pb'; import { SignModeMap } from '@routerprotocol/chain-api/cosmos/tx/signing/v1beta1/signing_pb'; import { CreateTransactionArgs, CreateTransactionResult, CreateTransactionWithSignersArgs, MsgArg } from '../types'; export declare const SIGN_DIRECT: 1; export declare const SIGN_AMINO: 127; export declare const getPublicKey: ({ chainId, key, }: { chainId: string; key: string; }) => import("google-protobuf/google/protobuf/any_pb").Any; export declare const createBody: ({ message, memo, timeoutHeight, }: { message: MsgArg | MsgArg[]; memo?: string | undefined; timeoutHeight?: number | undefined; }) => TxBody; export declare const createFee: ({ fee, payer, gasLimit, }: { fee: { amount: string; denom: string; }; payer?: string | undefined; gasLimit: number; }) => Fee; export declare const createSigners: ({ chainId, mode, signers, }: { chainId: string; signers: { pubKey: string; sequence: number; }[]; mode: SignModeMap[keyof SignModeMap]; }) => SignerInfo[]; export declare const createSignerInfo: ({ chainId, publicKey, sequence, mode, }: { chainId: string; publicKey: string; sequence: number; mode: SignModeMap[keyof SignModeMap]; }) => SignerInfo; export declare const createAuthInfo: ({ signerInfo, fee, }: { signerInfo: SignerInfo[]; fee: Fee; }) => AuthInfo; export declare const createSigDoc: ({ bodyBytes, authInfoBytes, chainId, accountNumber, }: { bodyBytes: Uint8Array; authInfoBytes: Uint8Array; chainId: string; accountNumber: number; }) => SignDoc; /** * @hidden * @typedef {Object} CreateTransactionWithSignersArgs * @param {CreateTransactionWithSignersArgs} params * @property {MsgArg | MsgArg[]} message - the Cosmos messages to wrap them in a transaction * @property {string} memo - the memo to attach to the transaction * @property {StdFee} fee - the fee to attach to the transaction * @property {SignerDetails} signers - the signers of the transaction * @property {number} number - the account number to attach to the transaction * @property {number} chainId - the chain-id to attach to the transaction * @property {string} pubKey - the account pubKey to attach to the transaction (in base64) * * @typedef {Object} CreateTransactionResult * @property {TxRaw} txRaw - the Tx raw that was created * @property {SignDoc} signDoc - the SignDoc that was created - used for signing of the transaction * @property {SignerDetails} signers - the signers of the transaction * @property {Uint8Array} bodyBytes - the body bytes of the transaction * @property {Uint8Array} authInfoBytes - the auth info bytes of the transaction * @property {Uint8Array} signBytes - the sign bytes of the transaction (SignDoc serialized to binary) * @property {Uint8Array} signHashedBytes - the sign bytes of the transaction (SignDoc serialized to binary) and hashed using keccak256 * @returns {CreateTransactionResult} result */ export declare const createTransactionWithSigners: ({ signers, chainId, message, timeoutHeight, memo, fee, signMode, }: CreateTransactionWithSignersArgs) => CreateTransactionResult; /** * @typedef {Object} CreateTransactionArgs * @param {CreateTransactionArgs} params * @property {MsgArg | MsgArg[]} message - the Cosmos messages to wrap them in a transaction * @property {string} memo - the memo to attach to the transaction * @property {StdFee} fee - the fee to attach to the transaction * @property {string} sequence - the account sequence to attach to the transaction * @property {number} number - the account number to attach to the transaction * @property {number} chainId - the chain-id to attach to the transaction * @property {string} pubKey - the account pubKey to attach to the transaction (in base64) * * @typedef {Object} CreateTransactionResult * @property {TxRaw} txRaw // the Tx raw that was created * @property {SignDoc} signDoc // the SignDoc that was created - used for signing of the transaction * @property {number} accountNumber // the account number of the signer of the transaction * @property {Uint8Array} bodyBytes // the body bytes of the transaction * @property {Uint8Array} authInfoBytes // the auth info bytes of the transaction * @property {Uint8Array} signBytes // the sign bytes of the transaction (SignDoc serialized to binary) * @property {Uint8Array} signHashedBytes // the sign bytes of the transaction (SignDoc serialized to binary) and hashed using keccak256 * @returns {CreateTransactionResult} result */ export declare const createTransaction: (args: CreateTransactionArgs) => CreateTransactionResult; export declare const getTransactionPartsFromTxRaw: (txRaw: TxRaw) => { authInfo: AuthInfo; body: TxBody; signatures: Uint8Array[]; };