import { BinaryReader, BinaryWriter } from "../../binary";
import { DeepPartial } from "../../helpers";
/**
 * @name NetAddress
 * @package tendermint.p2p
 * @see proto type: tendermint.p2p.NetAddress
 */
export interface NetAddress {
    id: string;
    ip: string;
    port: number;
}
export interface NetAddressProtoMsg {
    typeUrl: "/tendermint.p2p.NetAddress";
    value: Uint8Array;
}
/**
 * @name NetAddressAmino
 * @package tendermint.p2p
 * @see proto type: tendermint.p2p.NetAddress
 */
export interface NetAddressAmino {
    id: string;
    ip: string;
    port: number;
}
export interface NetAddressAminoMsg {
    type: "/tendermint.p2p.NetAddress";
    value: NetAddressAmino;
}
/**
 * @name ProtocolVersion
 * @package tendermint.p2p
 * @see proto type: tendermint.p2p.ProtocolVersion
 */
export interface ProtocolVersion {
    p2p: bigint;
    block: bigint;
    app: bigint;
}
export interface ProtocolVersionProtoMsg {
    typeUrl: "/tendermint.p2p.ProtocolVersion";
    value: Uint8Array;
}
/**
 * @name ProtocolVersionAmino
 * @package tendermint.p2p
 * @see proto type: tendermint.p2p.ProtocolVersion
 */
export interface ProtocolVersionAmino {
    p2p: string;
    block: string;
    app: string;
}
export interface ProtocolVersionAminoMsg {
    type: "/tendermint.p2p.ProtocolVersion";
    value: ProtocolVersionAmino;
}
/**
 * @name DefaultNodeInfo
 * @package tendermint.p2p
 * @see proto type: tendermint.p2p.DefaultNodeInfo
 */
export interface DefaultNodeInfo {
    protocolVersion: ProtocolVersion;
    defaultNodeId: string;
    listenAddr: string;
    network: string;
    version: string;
    channels: Uint8Array;
    moniker: string;
    other: DefaultNodeInfoOther;
}
export interface DefaultNodeInfoProtoMsg {
    typeUrl: "/tendermint.p2p.DefaultNodeInfo";
    value: Uint8Array;
}
/**
 * @name DefaultNodeInfoAmino
 * @package tendermint.p2p
 * @see proto type: tendermint.p2p.DefaultNodeInfo
 */
export interface DefaultNodeInfoAmino {
    protocol_version: ProtocolVersionAmino;
    default_node_id: string;
    listen_addr: string;
    network: string;
    version: string;
    channels: string;
    moniker: string;
    other: DefaultNodeInfoOtherAmino;
}
export interface DefaultNodeInfoAminoMsg {
    type: "/tendermint.p2p.DefaultNodeInfo";
    value: DefaultNodeInfoAmino;
}
/**
 * @name DefaultNodeInfoOther
 * @package tendermint.p2p
 * @see proto type: tendermint.p2p.DefaultNodeInfoOther
 */
export interface DefaultNodeInfoOther {
    txIndex: string;
    rpcAddress: string;
}
export interface DefaultNodeInfoOtherProtoMsg {
    typeUrl: "/tendermint.p2p.DefaultNodeInfoOther";
    value: Uint8Array;
}
/**
 * @name DefaultNodeInfoOtherAmino
 * @package tendermint.p2p
 * @see proto type: tendermint.p2p.DefaultNodeInfoOther
 */
export interface DefaultNodeInfoOtherAmino {
    tx_index: string;
    rpc_address: string;
}
export interface DefaultNodeInfoOtherAminoMsg {
    type: "/tendermint.p2p.DefaultNodeInfoOther";
    value: DefaultNodeInfoOtherAmino;
}
/**
 * @name NetAddress
 * @package tendermint.p2p
 * @see proto type: tendermint.p2p.NetAddress
 */
export declare const NetAddress: {
    typeUrl: string;
    is(o: any): o is NetAddress;
    isAmino(o: any): o is NetAddressAmino;
    encode(message: NetAddress, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): NetAddress;
    fromPartial(object: DeepPartial<NetAddress>): NetAddress;
    fromAmino(object: NetAddressAmino): NetAddress;
    toAmino(message: NetAddress): NetAddressAmino;
    fromAminoMsg(object: NetAddressAminoMsg): NetAddress;
    fromProtoMsg(message: NetAddressProtoMsg): NetAddress;
    toProto(message: NetAddress): Uint8Array;
    toProtoMsg(message: NetAddress): NetAddressProtoMsg;
    registerTypeUrl(): void;
};
/**
 * @name ProtocolVersion
 * @package tendermint.p2p
 * @see proto type: tendermint.p2p.ProtocolVersion
 */
export declare const ProtocolVersion: {
    typeUrl: string;
    is(o: any): o is ProtocolVersion;
    isAmino(o: any): o is ProtocolVersionAmino;
    encode(message: ProtocolVersion, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ProtocolVersion;
    fromPartial(object: DeepPartial<ProtocolVersion>): ProtocolVersion;
    fromAmino(object: ProtocolVersionAmino): ProtocolVersion;
    toAmino(message: ProtocolVersion): ProtocolVersionAmino;
    fromAminoMsg(object: ProtocolVersionAminoMsg): ProtocolVersion;
    fromProtoMsg(message: ProtocolVersionProtoMsg): ProtocolVersion;
    toProto(message: ProtocolVersion): Uint8Array;
    toProtoMsg(message: ProtocolVersion): ProtocolVersionProtoMsg;
    registerTypeUrl(): void;
};
/**
 * @name DefaultNodeInfo
 * @package tendermint.p2p
 * @see proto type: tendermint.p2p.DefaultNodeInfo
 */
export declare const DefaultNodeInfo: {
    typeUrl: string;
    is(o: any): o is DefaultNodeInfo;
    isAmino(o: any): o is DefaultNodeInfoAmino;
    encode(message: DefaultNodeInfo, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): DefaultNodeInfo;
    fromPartial(object: DeepPartial<DefaultNodeInfo>): DefaultNodeInfo;
    fromAmino(object: DefaultNodeInfoAmino): DefaultNodeInfo;
    toAmino(message: DefaultNodeInfo): DefaultNodeInfoAmino;
    fromAminoMsg(object: DefaultNodeInfoAminoMsg): DefaultNodeInfo;
    fromProtoMsg(message: DefaultNodeInfoProtoMsg): DefaultNodeInfo;
    toProto(message: DefaultNodeInfo): Uint8Array;
    toProtoMsg(message: DefaultNodeInfo): DefaultNodeInfoProtoMsg;
    registerTypeUrl(): void;
};
/**
 * @name DefaultNodeInfoOther
 * @package tendermint.p2p
 * @see proto type: tendermint.p2p.DefaultNodeInfoOther
 */
export declare const DefaultNodeInfoOther: {
    typeUrl: string;
    is(o: any): o is DefaultNodeInfoOther;
    isAmino(o: any): o is DefaultNodeInfoOtherAmino;
    encode(message: DefaultNodeInfoOther, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): DefaultNodeInfoOther;
    fromPartial(object: DeepPartial<DefaultNodeInfoOther>): DefaultNodeInfoOther;
    fromAmino(object: DefaultNodeInfoOtherAmino): DefaultNodeInfoOther;
    toAmino(message: DefaultNodeInfoOther): DefaultNodeInfoOtherAmino;
    fromAminoMsg(object: DefaultNodeInfoOtherAminoMsg): DefaultNodeInfoOther;
    fromProtoMsg(message: DefaultNodeInfoOtherProtoMsg): DefaultNodeInfoOther;
    toProto(message: DefaultNodeInfoOther): Uint8Array;
    toProtoMsg(message: DefaultNodeInfoOther): DefaultNodeInfoOtherProtoMsg;
    registerTypeUrl(): void;
};
