import { Arrayish, Signature } from './bytes'; import { BigNumberish } from './bignumber'; import { Provider, TransactionFee } from '../providers/abstract-provider'; export declare type UnsignedTransaction = { type?: string; value?: { msg?: Array<{ type: string; value: any; }>; fee?: { amount?: Array<{ denom: string; amount: BigNumberish; }>; gas: BigNumberish; }; memo?: string; }; }; export interface Transaction { type?: string; value?: { msg?: Array<{ type: string; value: any; }>; fee?: TransactionFee | Promise; signatures?: Array<{ publicKey: { type: string; value: string; }; signature: string; }>; memo?: string; }; checkTransaction?: { gasWanted?: BigNumberish; gasUsed?: BigNumberish; }; deliverTransaction?: { log?: string; gasWanted?: BigNumberish; gasUsed?: BigNumberish; tags?: Array<{ key: string; value: string; }>; }; hash?: string; blockNumber?: number; } export declare function serialize(unsignedTransaction: UnsignedTransaction, signature?: Arrayish | Signature, publicKey?: string): string; export declare function parse(rawTransaction: any): Transaction; export declare function populateTransaction(transaction: any, provider: Provider, from: string | Promise): Promise;