import { Params, ParamsAmino, QueryRequest, QueryRequestAmino } from "./host";
import { BinaryReader, BinaryWriter } from "../../../../../binary";
import { DeepPartial } from "../../../../../helpers";
/**
 * MsgUpdateParams defines the payload for Msg/UpdateParams
 * @name MsgUpdateParams
 * @package ibc.applications.interchain_accounts.host.v1
 * @see proto type: ibc.applications.interchain_accounts.host.v1.MsgUpdateParams
 */
export interface MsgUpdateParams {
    /**
     * signer address
     */
    signer: string;
    /**
     * params defines the 27-interchain-accounts/host parameters to update.
     *
     * NOTE: All parameters must be supplied.
     */
    params: Params;
}
export interface MsgUpdateParamsProtoMsg {
    typeUrl: "/ibc.applications.interchain_accounts.host.v1.MsgUpdateParams";
    value: Uint8Array;
}
/**
 * MsgUpdateParams defines the payload for Msg/UpdateParams
 * @name MsgUpdateParamsAmino
 * @package ibc.applications.interchain_accounts.host.v1
 * @see proto type: ibc.applications.interchain_accounts.host.v1.MsgUpdateParams
 */
export interface MsgUpdateParamsAmino {
    /**
     * signer address
     */
    signer: string;
    /**
     * params defines the 27-interchain-accounts/host parameters to update.
     *
     * NOTE: All parameters must be supplied.
     */
    params: ParamsAmino;
}
export interface MsgUpdateParamsAminoMsg {
    type: "cosmos-sdk/MsgUpdateParams";
    value: MsgUpdateParamsAmino;
}
/**
 * MsgUpdateParamsResponse defines the response for Msg/UpdateParams
 * @name MsgUpdateParamsResponse
 * @package ibc.applications.interchain_accounts.host.v1
 * @see proto type: ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse
 */
export interface MsgUpdateParamsResponse {
}
export interface MsgUpdateParamsResponseProtoMsg {
    typeUrl: "/ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse";
    value: Uint8Array;
}
/**
 * MsgUpdateParamsResponse defines the response for Msg/UpdateParams
 * @name MsgUpdateParamsResponseAmino
 * @package ibc.applications.interchain_accounts.host.v1
 * @see proto type: ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse
 */
export interface MsgUpdateParamsResponseAmino {
}
export interface MsgUpdateParamsResponseAminoMsg {
    type: "cosmos-sdk/MsgUpdateParamsResponse";
    value: MsgUpdateParamsResponseAmino;
}
/**
 * MsgModuleQuerySafe defines the payload for Msg/ModuleQuerySafe
 * @name MsgModuleQuerySafe
 * @package ibc.applications.interchain_accounts.host.v1
 * @see proto type: ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafe
 */
export interface MsgModuleQuerySafe {
    /**
     * signer address
     */
    signer: string;
    /**
     * requests defines the module safe queries to execute.
     */
    requests: QueryRequest[];
}
export interface MsgModuleQuerySafeProtoMsg {
    typeUrl: "/ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafe";
    value: Uint8Array;
}
/**
 * MsgModuleQuerySafe defines the payload for Msg/ModuleQuerySafe
 * @name MsgModuleQuerySafeAmino
 * @package ibc.applications.interchain_accounts.host.v1
 * @see proto type: ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafe
 */
export interface MsgModuleQuerySafeAmino {
    /**
     * signer address
     */
    signer: string;
    /**
     * requests defines the module safe queries to execute.
     */
    requests: QueryRequestAmino[];
}
export interface MsgModuleQuerySafeAminoMsg {
    type: "cosmos-sdk/MsgModuleQuerySafe";
    value: MsgModuleQuerySafeAmino;
}
/**
 * MsgModuleQuerySafeResponse defines the response for Msg/ModuleQuerySafe
 * @name MsgModuleQuerySafeResponse
 * @package ibc.applications.interchain_accounts.host.v1
 * @see proto type: ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafeResponse
 */
export interface MsgModuleQuerySafeResponse {
    /**
     * height at which the responses were queried
     */
    height: bigint;
    /**
     * protobuf encoded responses for each query
     */
    responses: Uint8Array[];
}
export interface MsgModuleQuerySafeResponseProtoMsg {
    typeUrl: "/ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafeResponse";
    value: Uint8Array;
}
/**
 * MsgModuleQuerySafeResponse defines the response for Msg/ModuleQuerySafe
 * @name MsgModuleQuerySafeResponseAmino
 * @package ibc.applications.interchain_accounts.host.v1
 * @see proto type: ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafeResponse
 */
export interface MsgModuleQuerySafeResponseAmino {
    /**
     * height at which the responses were queried
     */
    height: string;
    /**
     * protobuf encoded responses for each query
     */
    responses: string[];
}
export interface MsgModuleQuerySafeResponseAminoMsg {
    type: "cosmos-sdk/MsgModuleQuerySafeResponse";
    value: MsgModuleQuerySafeResponseAmino;
}
/**
 * MsgUpdateParams defines the payload for Msg/UpdateParams
 * @name MsgUpdateParams
 * @package ibc.applications.interchain_accounts.host.v1
 * @see proto type: ibc.applications.interchain_accounts.host.v1.MsgUpdateParams
 */
export declare const MsgUpdateParams: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is MsgUpdateParams;
    isAmino(o: any): o is MsgUpdateParamsAmino;
    encode(message: MsgUpdateParams, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams;
    fromPartial(object: DeepPartial<MsgUpdateParams>): MsgUpdateParams;
    fromAmino(object: MsgUpdateParamsAmino): MsgUpdateParams;
    toAmino(message: MsgUpdateParams): MsgUpdateParamsAmino;
    fromAminoMsg(object: MsgUpdateParamsAminoMsg): MsgUpdateParams;
    toAminoMsg(message: MsgUpdateParams): MsgUpdateParamsAminoMsg;
    fromProtoMsg(message: MsgUpdateParamsProtoMsg): MsgUpdateParams;
    toProto(message: MsgUpdateParams): Uint8Array;
    toProtoMsg(message: MsgUpdateParams): MsgUpdateParamsProtoMsg;
    registerTypeUrl(): void;
};
/**
 * MsgUpdateParamsResponse defines the response for Msg/UpdateParams
 * @name MsgUpdateParamsResponse
 * @package ibc.applications.interchain_accounts.host.v1
 * @see proto type: ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse
 */
export declare const MsgUpdateParamsResponse: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is MsgUpdateParamsResponse;
    isAmino(o: any): o is MsgUpdateParamsResponseAmino;
    encode(_: MsgUpdateParamsResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse;
    fromPartial(_: DeepPartial<MsgUpdateParamsResponse>): MsgUpdateParamsResponse;
    fromAmino(_: MsgUpdateParamsResponseAmino): MsgUpdateParamsResponse;
    toAmino(_: MsgUpdateParamsResponse): MsgUpdateParamsResponseAmino;
    fromAminoMsg(object: MsgUpdateParamsResponseAminoMsg): MsgUpdateParamsResponse;
    toAminoMsg(message: MsgUpdateParamsResponse): MsgUpdateParamsResponseAminoMsg;
    fromProtoMsg(message: MsgUpdateParamsResponseProtoMsg): MsgUpdateParamsResponse;
    toProto(message: MsgUpdateParamsResponse): Uint8Array;
    toProtoMsg(message: MsgUpdateParamsResponse): MsgUpdateParamsResponseProtoMsg;
    registerTypeUrl(): void;
};
/**
 * MsgModuleQuerySafe defines the payload for Msg/ModuleQuerySafe
 * @name MsgModuleQuerySafe
 * @package ibc.applications.interchain_accounts.host.v1
 * @see proto type: ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafe
 */
export declare const MsgModuleQuerySafe: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is MsgModuleQuerySafe;
    isAmino(o: any): o is MsgModuleQuerySafeAmino;
    encode(message: MsgModuleQuerySafe, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgModuleQuerySafe;
    fromPartial(object: DeepPartial<MsgModuleQuerySafe>): MsgModuleQuerySafe;
    fromAmino(object: MsgModuleQuerySafeAmino): MsgModuleQuerySafe;
    toAmino(message: MsgModuleQuerySafe): MsgModuleQuerySafeAmino;
    fromAminoMsg(object: MsgModuleQuerySafeAminoMsg): MsgModuleQuerySafe;
    toAminoMsg(message: MsgModuleQuerySafe): MsgModuleQuerySafeAminoMsg;
    fromProtoMsg(message: MsgModuleQuerySafeProtoMsg): MsgModuleQuerySafe;
    toProto(message: MsgModuleQuerySafe): Uint8Array;
    toProtoMsg(message: MsgModuleQuerySafe): MsgModuleQuerySafeProtoMsg;
    registerTypeUrl(): void;
};
/**
 * MsgModuleQuerySafeResponse defines the response for Msg/ModuleQuerySafe
 * @name MsgModuleQuerySafeResponse
 * @package ibc.applications.interchain_accounts.host.v1
 * @see proto type: ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafeResponse
 */
export declare const MsgModuleQuerySafeResponse: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is MsgModuleQuerySafeResponse;
    isAmino(o: any): o is MsgModuleQuerySafeResponseAmino;
    encode(message: MsgModuleQuerySafeResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgModuleQuerySafeResponse;
    fromPartial(object: DeepPartial<MsgModuleQuerySafeResponse>): MsgModuleQuerySafeResponse;
    fromAmino(object: MsgModuleQuerySafeResponseAmino): MsgModuleQuerySafeResponse;
    toAmino(message: MsgModuleQuerySafeResponse): MsgModuleQuerySafeResponseAmino;
    fromAminoMsg(object: MsgModuleQuerySafeResponseAminoMsg): MsgModuleQuerySafeResponse;
    toAminoMsg(message: MsgModuleQuerySafeResponse): MsgModuleQuerySafeResponseAminoMsg;
    fromProtoMsg(message: MsgModuleQuerySafeResponseProtoMsg): MsgModuleQuerySafeResponse;
    toProto(message: MsgModuleQuerySafeResponse): Uint8Array;
    toProtoMsg(message: MsgModuleQuerySafeResponse): MsgModuleQuerySafeResponseProtoMsg;
    registerTypeUrl(): void;
};
