import { BinaryReader, BinaryWriter } from "../../../../binary";
import { DeepPartial } from "../../../../helpers";
/**
 * Config is a **per-client** configuration struct that sets which relayers are allowed to relay v2 IBC messages
 * for a given client.
 * If it is set, then only relayers in the allow list can send v2 messages
 * If it is not set, then the client allows permissionless relaying of v2 messages
 * @name Config
 * @package ibc.core.client.v2
 * @see proto type: ibc.core.client.v2.Config
 */
export interface Config {
    /**
     * allowed_relayers defines the set of allowed relayers for IBC V2 protocol for the given client
     */
    allowedRelayers: string[];
}
export interface ConfigProtoMsg {
    typeUrl: "/ibc.core.client.v2.Config";
    value: Uint8Array;
}
/**
 * Config is a **per-client** configuration struct that sets which relayers are allowed to relay v2 IBC messages
 * for a given client.
 * If it is set, then only relayers in the allow list can send v2 messages
 * If it is not set, then the client allows permissionless relaying of v2 messages
 * @name ConfigAmino
 * @package ibc.core.client.v2
 * @see proto type: ibc.core.client.v2.Config
 */
export interface ConfigAmino {
    /**
     * allowed_relayers defines the set of allowed relayers for IBC V2 protocol for the given client
     */
    allowed_relayers: string[];
}
export interface ConfigAminoMsg {
    type: "cosmos-sdk/Config";
    value: ConfigAmino;
}
/**
 * Config is a **per-client** configuration struct that sets which relayers are allowed to relay v2 IBC messages
 * for a given client.
 * If it is set, then only relayers in the allow list can send v2 messages
 * If it is not set, then the client allows permissionless relaying of v2 messages
 * @name Config
 * @package ibc.core.client.v2
 * @see proto type: ibc.core.client.v2.Config
 */
export declare const Config: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is Config;
    isAmino(o: any): o is ConfigAmino;
    encode(message: Config, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): Config;
    fromPartial(object: DeepPartial<Config>): Config;
    fromAmino(object: ConfigAmino): Config;
    toAmino(message: Config): ConfigAmino;
    fromAminoMsg(object: ConfigAminoMsg): Config;
    toAminoMsg(message: Config): ConfigAminoMsg;
    fromProtoMsg(message: ConfigProtoMsg): Config;
    toProto(message: Config): Uint8Array;
    toProtoMsg(message: Config): ConfigProtoMsg;
    registerTypeUrl(): void;
};
