import { ChainGetter, CoinPrimitive, CosmosQueries, IQueriesStore } from "@keplr-wallet/stores"; import { DeepPartial, Optional } from "utility-types"; import { AccountStore, CosmosAccount, DeliverTxResponse, OsmosisAccount, TxFee } from "../../account"; import { OsmosisQueries } from "../../queries"; import { cosmwasmMsgOpts } from "./types"; export interface CosmwasmAccount { cosmwasm: CosmwasmAccountImpl; } export declare const CosmwasmAccount: { use(options: { msgOptsCreator?: ((chainId: string) => DeepPartial | undefined) | undefined; queriesStore: IQueriesStore; }): (base: AccountStore<[OsmosisAccount, CosmosAccount, CosmwasmAccount]>, chainGetter: ChainGetter, chainId: string) => CosmwasmAccount; }; export declare class CosmwasmAccountImpl { protected readonly base: AccountStore<[ OsmosisAccount, CosmosAccount, CosmwasmAccount ]>; protected readonly chainGetter: ChainGetter; protected readonly chainId: string; protected readonly queriesStore: IQueriesStore; readonly msgOpts: typeof cosmwasmMsgOpts; constructor(base: AccountStore<[ OsmosisAccount, CosmosAccount, CosmwasmAccount ]>, chainGetter: ChainGetter, chainId: string, queriesStore: IQueriesStore, msgOpts: typeof cosmwasmMsgOpts); private get address(); /** * Execute a cosmwasm contract. * @param type The type of the message. * @param contractAddress The address of the contract. * @param obj The object to be sent to the contract. * @param funds The funds to be sent to the contract. * @param TxFee The fee to be paid for the transaction. * @param onTxEvents The callback function to be called when the transaction is broadcasted or fulfilled. */ sendExecuteContractMsg(type: "executeWasm" | "unknown" | undefined, contractAddress: string, obj: object, funds: CoinPrimitive[], backupFee?: Optional, onTxEvents?: ((tx: DeliverTxResponse) => void) | { onBroadcasted?: (txHash: Uint8Array) => void; onFulfill?: (tx: DeliverTxResponse) => void; }): Promise; } export * from "./types";