import { Any, AnyProtoMsg, AnyAmino } from "../../../google/protobuf/any";
import { BinaryReader, BinaryWriter } from "../../../binary";
import { DeepPartial } from "../../../helpers";
/**
 * MsgSubmitEvidence represents a message that supports submitting arbitrary
 * Evidence of misbehavior such as equivocation or counterfactual signing.
 * @name MsgSubmitEvidence
 * @package cosmos.evidence.v1beta1
 * @see proto type: cosmos.evidence.v1beta1.MsgSubmitEvidence
 */
export interface MsgSubmitEvidence {
    /**
     * submitter is the signer account address of evidence.
     */
    submitter: string;
    /**
     * evidence defines the evidence of misbehavior.
     */
    evidence?: Any | undefined;
}
export interface MsgSubmitEvidenceProtoMsg {
    typeUrl: "/cosmos.evidence.v1beta1.MsgSubmitEvidence";
    value: Uint8Array;
}
export type MsgSubmitEvidenceEncoded = Omit<MsgSubmitEvidence, "evidence"> & {
    /**
     * evidence defines the evidence of misbehavior.
     */
    evidence?: AnyProtoMsg | undefined;
};
/**
 * MsgSubmitEvidence represents a message that supports submitting arbitrary
 * Evidence of misbehavior such as equivocation or counterfactual signing.
 * @name MsgSubmitEvidenceAmino
 * @package cosmos.evidence.v1beta1
 * @see proto type: cosmos.evidence.v1beta1.MsgSubmitEvidence
 */
export interface MsgSubmitEvidenceAmino {
    /**
     * submitter is the signer account address of evidence.
     */
    submitter: string;
    /**
     * evidence defines the evidence of misbehavior.
     */
    evidence?: AnyAmino;
}
export interface MsgSubmitEvidenceAminoMsg {
    type: "cosmos-sdk/MsgSubmitEvidence";
    value: MsgSubmitEvidenceAmino;
}
/**
 * MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type.
 * @name MsgSubmitEvidenceResponse
 * @package cosmos.evidence.v1beta1
 * @see proto type: cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse
 */
export interface MsgSubmitEvidenceResponse {
    /**
     * hash defines the hash of the evidence.
     */
    hash: Uint8Array;
}
export interface MsgSubmitEvidenceResponseProtoMsg {
    typeUrl: "/cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse";
    value: Uint8Array;
}
/**
 * MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type.
 * @name MsgSubmitEvidenceResponseAmino
 * @package cosmos.evidence.v1beta1
 * @see proto type: cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse
 */
export interface MsgSubmitEvidenceResponseAmino {
    /**
     * hash defines the hash of the evidence.
     */
    hash: string;
}
export interface MsgSubmitEvidenceResponseAminoMsg {
    type: "cosmos-sdk/MsgSubmitEvidenceResponse";
    value: MsgSubmitEvidenceResponseAmino;
}
/**
 * MsgSubmitEvidence represents a message that supports submitting arbitrary
 * Evidence of misbehavior such as equivocation or counterfactual signing.
 * @name MsgSubmitEvidence
 * @package cosmos.evidence.v1beta1
 * @see proto type: cosmos.evidence.v1beta1.MsgSubmitEvidence
 */
export declare const MsgSubmitEvidence: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is MsgSubmitEvidence;
    isAmino(o: any): o is MsgSubmitEvidenceAmino;
    encode(message: MsgSubmitEvidence, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitEvidence;
    fromPartial(object: DeepPartial<MsgSubmitEvidence>): MsgSubmitEvidence;
    fromAmino(object: MsgSubmitEvidenceAmino): MsgSubmitEvidence;
    toAmino(message: MsgSubmitEvidence): MsgSubmitEvidenceAmino;
    fromAminoMsg(object: MsgSubmitEvidenceAminoMsg): MsgSubmitEvidence;
    toAminoMsg(message: MsgSubmitEvidence): MsgSubmitEvidenceAminoMsg;
    fromProtoMsg(message: MsgSubmitEvidenceProtoMsg): MsgSubmitEvidence;
    toProto(message: MsgSubmitEvidence): Uint8Array;
    toProtoMsg(message: MsgSubmitEvidence): MsgSubmitEvidenceProtoMsg;
    registerTypeUrl(): void;
};
/**
 * MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type.
 * @name MsgSubmitEvidenceResponse
 * @package cosmos.evidence.v1beta1
 * @see proto type: cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse
 */
export declare const MsgSubmitEvidenceResponse: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is MsgSubmitEvidenceResponse;
    isAmino(o: any): o is MsgSubmitEvidenceResponseAmino;
    encode(message: MsgSubmitEvidenceResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitEvidenceResponse;
    fromPartial(object: DeepPartial<MsgSubmitEvidenceResponse>): MsgSubmitEvidenceResponse;
    fromAmino(object: MsgSubmitEvidenceResponseAmino): MsgSubmitEvidenceResponse;
    toAmino(message: MsgSubmitEvidenceResponse): MsgSubmitEvidenceResponseAmino;
    fromAminoMsg(object: MsgSubmitEvidenceResponseAminoMsg): MsgSubmitEvidenceResponse;
    toAminoMsg(message: MsgSubmitEvidenceResponse): MsgSubmitEvidenceResponseAminoMsg;
    fromProtoMsg(message: MsgSubmitEvidenceResponseProtoMsg): MsgSubmitEvidenceResponse;
    toProto(message: MsgSubmitEvidenceResponse): Uint8Array;
    toProtoMsg(message: MsgSubmitEvidenceResponse): MsgSubmitEvidenceResponseProtoMsg;
    registerTypeUrl(): void;
};
