import { Height, HeightAmino } from "../../../core/client/v1/client";
import { BinaryReader, BinaryWriter } from "../../../../binary";
import { DeepPartial } from "../../../../helpers";
/**
 * Wasm light client's Client state
 * @name ClientState
 * @package ibc.lightclients.wasm.v1
 * @see proto type: ibc.lightclients.wasm.v1.ClientState
 */
export interface ClientState {
    /**
     * bytes encoding the client state of the underlying light client
     * implemented as a Wasm contract.
     */
    data: Uint8Array;
    checksum: Uint8Array;
    latestHeight: Height;
}
export interface ClientStateProtoMsg {
    typeUrl: "/ibc.lightclients.wasm.v1.ClientState";
    value: Uint8Array;
}
/**
 * Wasm light client's Client state
 * @name ClientStateAmino
 * @package ibc.lightclients.wasm.v1
 * @see proto type: ibc.lightclients.wasm.v1.ClientState
 */
export interface ClientStateAmino {
    /**
     * bytes encoding the client state of the underlying light client
     * implemented as a Wasm contract.
     */
    data: string;
    checksum: string;
    latest_height: HeightAmino;
}
export interface ClientStateAminoMsg {
    type: "cosmos-sdk/ClientState";
    value: ClientStateAmino;
}
/**
 * Wasm light client's ConsensusState
 * @name ConsensusState
 * @package ibc.lightclients.wasm.v1
 * @see proto type: ibc.lightclients.wasm.v1.ConsensusState
 */
export interface ConsensusState {
    /**
     * bytes encoding the consensus state of the underlying light client
     * implemented as a Wasm contract.
     */
    data: Uint8Array;
}
export interface ConsensusStateProtoMsg {
    typeUrl: "/ibc.lightclients.wasm.v1.ConsensusState";
    value: Uint8Array;
}
/**
 * Wasm light client's ConsensusState
 * @name ConsensusStateAmino
 * @package ibc.lightclients.wasm.v1
 * @see proto type: ibc.lightclients.wasm.v1.ConsensusState
 */
export interface ConsensusStateAmino {
    /**
     * bytes encoding the consensus state of the underlying light client
     * implemented as a Wasm contract.
     */
    data: string;
}
export interface ConsensusStateAminoMsg {
    type: "cosmos-sdk/ConsensusState";
    value: ConsensusStateAmino;
}
/**
 * Wasm light client message (either header(s) or misbehaviour)
 * @name ClientMessage
 * @package ibc.lightclients.wasm.v1
 * @see proto type: ibc.lightclients.wasm.v1.ClientMessage
 */
export interface ClientMessage {
    data: Uint8Array;
}
export interface ClientMessageProtoMsg {
    typeUrl: "/ibc.lightclients.wasm.v1.ClientMessage";
    value: Uint8Array;
}
/**
 * Wasm light client message (either header(s) or misbehaviour)
 * @name ClientMessageAmino
 * @package ibc.lightclients.wasm.v1
 * @see proto type: ibc.lightclients.wasm.v1.ClientMessage
 */
export interface ClientMessageAmino {
    data: string;
}
export interface ClientMessageAminoMsg {
    type: "cosmos-sdk/ClientMessage";
    value: ClientMessageAmino;
}
/**
 * Checksums defines a list of all checksums that are stored
 *
 * Deprecated: This message is deprecated in favor of storing the checksums
 * using a Collections.KeySet.
 * @name Checksums
 * @package ibc.lightclients.wasm.v1
 * @see proto type: ibc.lightclients.wasm.v1.Checksums
 * @deprecated
 */
export interface Checksums {
    checksums: Uint8Array[];
}
export interface ChecksumsProtoMsg {
    typeUrl: "/ibc.lightclients.wasm.v1.Checksums";
    value: Uint8Array;
}
/**
 * Checksums defines a list of all checksums that are stored
 *
 * Deprecated: This message is deprecated in favor of storing the checksums
 * using a Collections.KeySet.
 * @name ChecksumsAmino
 * @package ibc.lightclients.wasm.v1
 * @see proto type: ibc.lightclients.wasm.v1.Checksums
 * @deprecated
 */
export interface ChecksumsAmino {
    checksums: string[];
}
export interface ChecksumsAminoMsg {
    type: "cosmos-sdk/Checksums";
    value: ChecksumsAmino;
}
/**
 * Wasm light client's Client state
 * @name ClientState
 * @package ibc.lightclients.wasm.v1
 * @see proto type: ibc.lightclients.wasm.v1.ClientState
 */
export declare const ClientState: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ClientState;
    isAmino(o: any): o is ClientStateAmino;
    encode(message: ClientState, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ClientState;
    fromPartial(object: DeepPartial<ClientState>): ClientState;
    fromAmino(object: ClientStateAmino): ClientState;
    toAmino(message: ClientState): ClientStateAmino;
    fromAminoMsg(object: ClientStateAminoMsg): ClientState;
    toAminoMsg(message: ClientState): ClientStateAminoMsg;
    fromProtoMsg(message: ClientStateProtoMsg): ClientState;
    toProto(message: ClientState): Uint8Array;
    toProtoMsg(message: ClientState): ClientStateProtoMsg;
    registerTypeUrl(): void;
};
/**
 * Wasm light client's ConsensusState
 * @name ConsensusState
 * @package ibc.lightclients.wasm.v1
 * @see proto type: ibc.lightclients.wasm.v1.ConsensusState
 */
export declare const ConsensusState: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ConsensusState;
    isAmino(o: any): o is ConsensusStateAmino;
    encode(message: ConsensusState, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ConsensusState;
    fromPartial(object: DeepPartial<ConsensusState>): ConsensusState;
    fromAmino(object: ConsensusStateAmino): ConsensusState;
    toAmino(message: ConsensusState): ConsensusStateAmino;
    fromAminoMsg(object: ConsensusStateAminoMsg): ConsensusState;
    toAminoMsg(message: ConsensusState): ConsensusStateAminoMsg;
    fromProtoMsg(message: ConsensusStateProtoMsg): ConsensusState;
    toProto(message: ConsensusState): Uint8Array;
    toProtoMsg(message: ConsensusState): ConsensusStateProtoMsg;
    registerTypeUrl(): void;
};
/**
 * Wasm light client message (either header(s) or misbehaviour)
 * @name ClientMessage
 * @package ibc.lightclients.wasm.v1
 * @see proto type: ibc.lightclients.wasm.v1.ClientMessage
 */
export declare const ClientMessage: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ClientMessage;
    isAmino(o: any): o is ClientMessageAmino;
    encode(message: ClientMessage, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ClientMessage;
    fromPartial(object: DeepPartial<ClientMessage>): ClientMessage;
    fromAmino(object: ClientMessageAmino): ClientMessage;
    toAmino(message: ClientMessage): ClientMessageAmino;
    fromAminoMsg(object: ClientMessageAminoMsg): ClientMessage;
    toAminoMsg(message: ClientMessage): ClientMessageAminoMsg;
    fromProtoMsg(message: ClientMessageProtoMsg): ClientMessage;
    toProto(message: ClientMessage): Uint8Array;
    toProtoMsg(message: ClientMessage): ClientMessageProtoMsg;
    registerTypeUrl(): void;
};
/**
 * Checksums defines a list of all checksums that are stored
 *
 * Deprecated: This message is deprecated in favor of storing the checksums
 * using a Collections.KeySet.
 * @name Checksums
 * @package ibc.lightclients.wasm.v1
 * @see proto type: ibc.lightclients.wasm.v1.Checksums
 * @deprecated
 */
export declare const Checksums: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is Checksums;
    isAmino(o: any): o is ChecksumsAmino;
    encode(message: Checksums, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): Checksums;
    fromPartial(object: DeepPartial<Checksums>): Checksums;
    fromAmino(object: ChecksumsAmino): Checksums;
    toAmino(message: Checksums): ChecksumsAmino;
    fromAminoMsg(object: ChecksumsAminoMsg): Checksums;
    toAminoMsg(message: Checksums): ChecksumsAminoMsg;
    fromProtoMsg(message: ChecksumsProtoMsg): Checksums;
    toProto(message: Checksums): Uint8Array;
    toProtoMsg(message: Checksums): ChecksumsProtoMsg;
    registerTypeUrl(): void;
};
