import { ChainGetter, CosmosQueries, IQueriesStore } from "@keplr-wallet/stores"; import { AppCurrency } from "@keplr-wallet/types"; import { DeepPartial } from "utility-types"; import { AccountStore, CosmwasmAccount, DeliverTxResponse, OsmosisAccount } from "../../account"; import { OsmosisQueries } from "../../queries"; import { cosmosMsgOpts } from "./types"; export interface CosmosAccount { cosmos: CosmosAccountImpl; } export declare const CosmosAccount: { use(options: { msgOptsCreator?: ((chainId: string) => DeepPartial | undefined) | undefined; queriesStore: IQueriesStore; }): (base: AccountStore<[OsmosisAccount, CosmosAccount, CosmwasmAccount]>, chainGetter: ChainGetter, chainId: string) => CosmosAccount; }; export declare class CosmosAccountImpl { protected readonly base: AccountStore<[ OsmosisAccount, CosmosAccount, CosmwasmAccount ]>; protected readonly chainGetter: ChainGetter; protected readonly chainId: string; protected readonly queriesStore: IQueriesStore; readonly msgOpts: typeof cosmosMsgOpts; constructor(base: AccountStore<[ OsmosisAccount, CosmosAccount, CosmwasmAccount ]>, chainGetter: ChainGetter, chainId: string, queriesStore: IQueriesStore, msgOpts: typeof cosmosMsgOpts); private get address(); /** * Send a IBC transfer transaction. * * @param channel the channel to send the IBC transfer transaction. * @param amount the amount to send. * @param currency the currency to send. * @param recipient the recipient address. * @param onTxEvents the callback function to handle the transaction events. */ sendIBCTransferMsg(channel: { portId: string; channelId: string; counterpartyChainId: string; }, amount: string, currency: AppCurrency, recipient: string, onTxEvents?: ((tx: any) => void) | { onBroadcasted?: (txHash: Uint8Array) => void; onFulfill?: (tx: DeliverTxResponse) => void; }): Promise; } export * from "./types";