///
import { EncodeObject, GeneratedType } from "@shareledgerjs/signing";
import { DecCoin } from "@shareledgerjs/types/cosmos/base/v1beta1/coin";
import { MsgBurn, MsgBuyShr, MsgLoad, MsgLoadFee, MsgSend, MsgSetExchange } from "@shareledgerjs/types/shareledger/gentlemint/tx";
import { BaseClient } from "../../baseclient";
export declare function createGentlemintTypes(): ReadonlyArray<[string, GeneratedType]>;
export declare function createGentlemintActions(): Record;
export interface MsgBurnEncodeObject extends EncodeObject {
readonly typeUrl: "/shareledger.gentlemint.MsgBurn";
readonly value: Partial;
}
export declare function isMsgBurnEncodeObject(encodeObject: EncodeObject): encodeObject is MsgBurnEncodeObject;
export interface MsgLoadEncodeObject extends EncodeObject {
readonly typeUrl: "/shareledger.gentlemint.MsgLoad";
readonly value: Partial;
}
export declare function isMsgLoadEncodeObject(encodeObject: EncodeObject): encodeObject is MsgLoadEncodeObject;
export interface MsgSendEncodeObject extends EncodeObject {
readonly typeUrl: "/shareledger.gentlemint.MsgSend";
readonly value: Partial;
}
export declare function isMsgSendEncodeObject(encodeObject: EncodeObject): encodeObject is MsgSendEncodeObject;
export interface MsgBuyShrEncodeObject extends EncodeObject {
readonly typeUrl: "/shareledger.gentlemint.MsgBuyShr";
readonly value: Partial;
}
export declare function isMsgBuyShrEncodeObject(encodeObject: EncodeObject): encodeObject is MsgBuyShrEncodeObject;
export interface MsgSetExchangeEncodeObject extends EncodeObject {
readonly typeUrl: "/shareledger.gentlemint.MsgSetExchange";
readonly value: Partial;
}
export declare function isMsgSetExchangeEncodeObject(encodeObject: EncodeObject): encodeObject is MsgSetExchangeEncodeObject;
export interface MsgLoadFeeEncodeObject extends EncodeObject {
readonly typeUrl: "/shareledger.gentlemint.MsgLoadFee";
readonly value: Partial;
}
export declare function isMsgLoadFeeEncodeObject(encodeObject: EncodeObject): encodeObject is MsgLoadFeeEncodeObject;
export interface GentlemintTxExtensionMethods {
burn(fromAddress: string, coins: DecCoin[]): MsgBurnEncodeObject;
load(fromAddress: string, toAddress: string, coins: DecCoin[]): MsgLoadEncodeObject;
send(fromAddress: string, toAddress: string, coins: DecCoin[]): MsgSendEncodeObject;
buyShr(toAddress: string, amount: Long): MsgBuyShrEncodeObject;
setExchangeRate(rate: string, creator: string): MsgSetExchangeEncodeObject;
loadFee(address: string, fee: DecCoin): MsgLoadFeeEncodeObject;
}
export interface GentlemintTxExtension {
readonly gentlemint: GentlemintTxExtensionMethods;
}
export declare function GentlemintTxExtension(constructor: T): T;