import { Group, GroupAmino, GroupSDKType, Member, MemberAmino, MemberSDKType, DE, DEAmino, DESDKType } from "./tss";
import { BinaryReader, BinaryWriter } from "../../../binary";
/** GenesisState defines the tss module's genesis state. */
export interface GenesisState {
    /** params defines all the parameters of the module. */
    params: Params;
    /** groups is an array containing information about each group. */
    groups: Group[];
    /** members is an array containing information about each member of groups. */
    members: Member[];
    /** des is an array containing the des of all the addressres. */
    des: DEGenesis[];
}
export interface GenesisStateProtoMsg {
    typeUrl: "/band.tss.v1beta1.GenesisState";
    value: Uint8Array;
}
/** GenesisState defines the tss module's genesis state. */
export interface GenesisStateAmino {
    /** params defines all the parameters of the module. */
    params?: ParamsAmino;
    /** groups is an array containing information about each group. */
    groups?: GroupAmino[];
    /** members is an array containing information about each member of groups. */
    members?: MemberAmino[];
    /** des is an array containing the des of all the addressres. */
    des?: DEGenesisAmino[];
}
export interface GenesisStateAminoMsg {
    type: "/band.tss.v1beta1.GenesisState";
    value: GenesisStateAmino;
}
/** GenesisState defines the tss module's genesis state. */
export interface GenesisStateSDKType {
    params: ParamsSDKType;
    groups: GroupSDKType[];
    members: MemberSDKType[];
    des: DEGenesisSDKType[];
}
/** Params defines the set of module parameters. */
export interface Params {
    /** max_group_size is the maximum of the member capacity of the group. */
    maxGroupSize: bigint;
    /** max_de_size is the maximum of the de capacity of the member. */
    maxDeSize: bigint;
    /** creation_period is the number of blocks allowed to creating tss group. */
    creationPeriod: bigint;
    /** signing_period is the number of blocks allowed to sign. */
    signingPeriod: bigint;
    /** max_signing_attempt is the maximum number of signing retry process per signingID. */
    maxSigningAttempt: bigint;
    /** max_memo_length is the maximum length of the memo in the direct originator. */
    maxMemoLength: bigint;
    /** max_message_length is the maximum length of the message in the TextSignatureOrder. */
    maxMessageLength: bigint;
}
export interface ParamsProtoMsg {
    typeUrl: "/band.tss.v1beta1.Params";
    value: Uint8Array;
}
/** Params defines the set of module parameters. */
export interface ParamsAmino {
    /** max_group_size is the maximum of the member capacity of the group. */
    max_group_size?: string;
    /** max_de_size is the maximum of the de capacity of the member. */
    max_de_size?: string;
    /** creation_period is the number of blocks allowed to creating tss group. */
    creation_period?: string;
    /** signing_period is the number of blocks allowed to sign. */
    signing_period?: string;
    /** max_signing_attempt is the maximum number of signing retry process per signingID. */
    max_signing_attempt?: string;
    /** max_memo_length is the maximum length of the memo in the direct originator. */
    max_memo_length?: string;
    /** max_message_length is the maximum length of the message in the TextSignatureOrder. */
    max_message_length?: string;
}
export interface ParamsAminoMsg {
    type: "/band.tss.v1beta1.Params";
    value: ParamsAmino;
}
/** Params defines the set of module parameters. */
export interface ParamsSDKType {
    max_group_size: bigint;
    max_de_size: bigint;
    creation_period: bigint;
    signing_period: bigint;
    max_signing_attempt: bigint;
    max_memo_length: bigint;
    max_message_length: bigint;
}
/** DEGenesis defines an account address and de pair used in the tss module's genesis state. */
export interface DEGenesis {
    /** address is the address of the de holder. */
    address: string;
    /** de defines the difference de this balance holds. */
    de: DE;
}
export interface DEGenesisProtoMsg {
    typeUrl: "/band.tss.v1beta1.DEGenesis";
    value: Uint8Array;
}
/** DEGenesis defines an account address and de pair used in the tss module's genesis state. */
export interface DEGenesisAmino {
    /** address is the address of the de holder. */
    address?: string;
    /** de defines the difference de this balance holds. */
    de?: DEAmino;
}
export interface DEGenesisAminoMsg {
    type: "/band.tss.v1beta1.DEGenesis";
    value: DEGenesisAmino;
}
/** DEGenesis defines an account address and de pair used in the tss module's genesis state. */
export interface DEGenesisSDKType {
    address: string;
    de: DESDKType;
}
export declare const GenesisState: {
    typeUrl: string;
    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;
    fromProtoMsg(message: GenesisStateProtoMsg): GenesisState;
    toProto(message: GenesisState): Uint8Array;
    toProtoMsg(message: GenesisState): GenesisStateProtoMsg;
};
export declare const Params: {
    typeUrl: string;
    encode(message: Params, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): Params;
    fromPartial(object: Partial<Params>): Params;
    fromAmino(object: ParamsAmino): Params;
    toAmino(message: Params): ParamsAmino;
    fromAminoMsg(object: ParamsAminoMsg): Params;
    fromProtoMsg(message: ParamsProtoMsg): Params;
    toProto(message: Params): Uint8Array;
    toProtoMsg(message: Params): ParamsProtoMsg;
};
export declare const DEGenesis: {
    typeUrl: string;
    encode(message: DEGenesis, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): DEGenesis;
    fromPartial(object: Partial<DEGenesis>): DEGenesis;
    fromAmino(object: DEGenesisAmino): DEGenesis;
    toAmino(message: DEGenesis): DEGenesisAmino;
    fromAminoMsg(object: DEGenesisAminoMsg): DEGenesis;
    fromProtoMsg(message: DEGenesisProtoMsg): DEGenesis;
    toProto(message: DEGenesis): Uint8Array;
    toProtoMsg(message: DEGenesis): DEGenesisProtoMsg;
};
