import { DenomTrace, DenomTraceAmino, DenomTraceSDKType, Params, ParamsAmino, ParamsSDKType } from "./transfer";
import { Coin, CoinAmino, CoinSDKType } from "../../../../cosmos/base/v1beta1/coin";
import { BinaryReader, BinaryWriter } from "../../../../binary";
/** GenesisState defines the ibc-transfer genesis state */
export interface GenesisState {
portId: string;
denomTraces: DenomTrace[];
params: Params;
/**
* total_escrowed contains the total amount of tokens escrowed
* by the transfer module
*/
totalEscrowed: Coin[];
}
export interface GenesisStateProtoMsg {
typeUrl: "/ibc.applications.transfer.v1.GenesisState";
value: Uint8Array;
}
/** GenesisState defines the ibc-transfer genesis state */
export interface GenesisStateAmino {
port_id?: string;
denom_traces?: DenomTraceAmino[];
params?: ParamsAmino;
/**
* total_escrowed contains the total amount of tokens escrowed
* by the transfer module
*/
total_escrowed?: CoinAmino[];
}
export interface GenesisStateAminoMsg {
type: "cosmos-sdk/GenesisState";
value: GenesisStateAmino;
}
/** GenesisState defines the ibc-transfer genesis state */
export interface GenesisStateSDKType {
port_id: string;
denom_traces: DenomTraceSDKType[];
params: ParamsSDKType;
total_escrowed: CoinSDKType[];
}
export declare const GenesisState: {
typeUrl: string;
aminoType: string;
is(o: any): o is GenesisState;
isSDK(o: any): o is GenesisStateSDKType;
isAmino(o: any): o is GenesisStateAmino;
encode(message: GenesisState, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): GenesisState;
fromPartial(object: Partial<GenesisState>): GenesisState;
fromAmino(object: GenesisStateAmino): GenesisState;
toAmino(message: GenesisState): GenesisStateAmino;
fromAminoMsg(object: GenesisStateAminoMsg): GenesisState;
toAminoMsg(message: GenesisState): GenesisStateAminoMsg;
fromProtoMsg(message: GenesisStateProtoMsg): GenesisState;
toProto(message: GenesisState): Uint8Array;
toProtoMsg(message: GenesisState): GenesisStateProtoMsg;
};