import { ServiceType } from "@protobuf-ts/runtime-rpc";
import { MessageType } from "@protobuf-ts/runtime";
import { RpcMessage } from "../../proto-rpc/protos/ProtoRpc";
import { Timestamp } from "../../../google/protobuf/timestamp";
import { Any } from "../../../google/protobuf/any";
/**
 * @generated from protobuf message dht.StoreDataRequest
 */
export interface StoreDataRequest {
    /**
     * @generated from protobuf field: bytes key = 1;
     */
    key: Uint8Array;
    /**
     * @generated from protobuf field: google.protobuf.Any data = 2;
     */
    data?: Any;
    /**
     * @generated from protobuf field: bytes creator = 3;
     */
    creator: Uint8Array;
    /**
     * @generated from protobuf field: google.protobuf.Timestamp createdAt = 4;
     */
    createdAt?: Timestamp;
    /**
     * @generated from protobuf field: uint32 ttl = 5;
     */
    ttl: number;
}
/**
 * @generated from protobuf message dht.StoreDataResponse
 */
export interface StoreDataResponse {
}
/**
 * @generated from protobuf message dht.ExternalStoreDataRequest
 */
export interface ExternalStoreDataRequest {
    /**
     * @generated from protobuf field: bytes key = 1;
     */
    key: Uint8Array;
    /**
     * @generated from protobuf field: google.protobuf.Any data = 2;
     */
    data?: Any;
}
/**
 * @generated from protobuf message dht.ExternalStoreDataResponse
 */
export interface ExternalStoreDataResponse {
    /**
     * @generated from protobuf field: repeated dht.PeerDescriptor storers = 1;
     */
    storers: PeerDescriptor[];
}
/**
 * @generated from protobuf message dht.ReplicateDataRequest
 */
export interface ReplicateDataRequest {
    /**
     * @generated from protobuf field: dht.DataEntry entry = 1;
     */
    entry?: DataEntry;
}
/**
 * @generated from protobuf message dht.DataEntry
 */
export interface DataEntry {
    /**
     * @generated from protobuf field: bytes key = 1;
     */
    key: Uint8Array;
    /**
     * @generated from protobuf field: google.protobuf.Any data = 2;
     */
    data?: Any;
    /**
     * @generated from protobuf field: bytes creator = 3;
     */
    creator: Uint8Array;
    /**
     * @generated from protobuf field: google.protobuf.Timestamp createdAt = 4;
     */
    createdAt?: Timestamp;
    /**
     * @generated from protobuf field: google.protobuf.Timestamp storedAt = 5;
     */
    storedAt?: Timestamp;
    /**
     * @generated from protobuf field: uint32 ttl = 6;
     */
    ttl: number;
    /**
     * @generated from protobuf field: bool stale = 7;
     */
    stale: boolean;
    /**
     * @generated from protobuf field: bool deleted = 8;
     */
    deleted: boolean;
}
/**
 * TODO rename to ClosestNeighborsRequest
 *
 * @generated from protobuf message dht.ClosestPeersRequest
 */
export interface ClosestPeersRequest {
    /**
     * @generated from protobuf field: bytes nodeId = 1;
     */
    nodeId: Uint8Array;
    /**
     * @generated from protobuf field: string requestId = 2;
     */
    requestId: string;
}
/**
 * TODO rename to ClosestNeighborsResponse
 *
 * @generated from protobuf message dht.ClosestPeersResponse
 */
export interface ClosestPeersResponse {
    /**
     * @generated from protobuf field: repeated dht.PeerDescriptor peers = 1;
     */
    peers: PeerDescriptor[];
    /**
     * @generated from protobuf field: string requestId = 2;
     */
    requestId: string;
}
/**
 * TODO rename to ClosestRingContactsRequest
 *
 * @generated from protobuf message dht.ClosestRingPeersRequest
 */
export interface ClosestRingPeersRequest {
    /**
     * @generated from protobuf field: bytes ringId = 1;
     */
    ringId: Uint8Array;
    /**
     * @generated from protobuf field: string requestId = 2;
     */
    requestId: string;
}
/**
 * TODO rename to ClosestRingContactsResponse
 *
 * @generated from protobuf message dht.ClosestRingPeersResponse
 */
export interface ClosestRingPeersResponse {
    /**
     * @generated from protobuf field: repeated dht.PeerDescriptor leftPeers = 1;
     */
    leftPeers: PeerDescriptor[];
    /**
     * @generated from protobuf field: repeated dht.PeerDescriptor rightPeers = 2;
     */
    rightPeers: PeerDescriptor[];
    /**
     * @generated from protobuf field: string requestId = 3;
     */
    requestId: string;
}
/**
 * @generated from protobuf message dht.RecursiveOperationRequest
 */
export interface RecursiveOperationRequest {
    /**
     * @generated from protobuf field: string sessionId = 1;
     */
    sessionId: string;
    /**
     * @generated from protobuf field: dht.RecursiveOperation operation = 2;
     */
    operation: RecursiveOperation;
}
/**
 * @generated from protobuf message dht.RecursiveOperationResponse
 */
export interface RecursiveOperationResponse {
    /**
     * @generated from protobuf field: repeated dht.PeerDescriptor closestConnectedNodes = 1;
     */
    closestConnectedNodes: PeerDescriptor[];
    /**
     * @generated from protobuf field: repeated dht.DataEntry dataEntries = 2;
     */
    dataEntries: DataEntry[];
    /**
     * @generated from protobuf field: bool noCloserNodesFound = 3;
     */
    noCloserNodesFound: boolean;
    /**
     * @generated from protobuf field: repeated dht.PeerDescriptor routingPath = 4;
     */
    routingPath: PeerDescriptor[];
}
/**
 * @generated from protobuf message dht.PingRequest
 */
export interface PingRequest {
    /**
     * @generated from protobuf field: string requestId = 1;
     */
    requestId: string;
}
/**
 * @generated from protobuf message dht.PingResponse
 */
export interface PingResponse {
    /**
     * @generated from protobuf field: string requestId = 1;
     */
    requestId: string;
}
/**
 * @generated from protobuf message dht.LeaveNotice
 */
export interface LeaveNotice {
}
/**
 * @generated from protobuf message dht.PeerDescriptor
 */
export interface PeerDescriptor {
    /**
     * @generated from protobuf field: bytes nodeId = 1;
     */
    nodeId: Uint8Array;
    /**
     * @generated from protobuf field: dht.NodeType type = 2;
     */
    type: NodeType;
    /**
     * @generated from protobuf field: dht.ConnectivityMethod udp = 3;
     */
    udp?: ConnectivityMethod;
    /**
     * @generated from protobuf field: dht.ConnectivityMethod tcp = 4;
     */
    tcp?: ConnectivityMethod;
    /**
     * @generated from protobuf field: dht.ConnectivityMethod websocket = 5;
     */
    websocket?: ConnectivityMethod;
    /**
     * @generated from protobuf field: optional uint32 region = 6;
     */
    region?: number;
    /**
     * @generated from protobuf field: optional uint32 ipAddress = 7;
     */
    ipAddress?: number;
    /**
     * @generated from protobuf field: optional bytes publicKey = 8;
     */
    publicKey?: Uint8Array;
    /**
     * signature of fields 2-8
     *
     * @generated from protobuf field: optional bytes signature = 9;
     */
    signature?: Uint8Array;
}
/**
 * @generated from protobuf message dht.ConnectivityMethod
 */
export interface ConnectivityMethod {
    /**
     * @generated from protobuf field: uint32 port = 1;
     */
    port: number;
    /**
     * @generated from protobuf field: string host = 2;
     */
    host: string;
    /**
     * @generated from protobuf field: bool tls = 3;
     */
    tls: boolean;
}
/**
 * @generated from protobuf message dht.RouteMessageWrapper
 */
export interface RouteMessageWrapper {
    /**
     * @generated from protobuf field: string requestId = 1;
     */
    requestId: string;
    /**
     * @generated from protobuf field: dht.PeerDescriptor sourcePeer = 2;
     */
    sourcePeer?: PeerDescriptor;
    /**
     * @generated from protobuf field: bytes target = 3;
     */
    target: Uint8Array;
    /**
     * @generated from protobuf field: dht.Message message = 4;
     */
    message?: Message;
    /**
     * @generated from protobuf field: repeated dht.PeerDescriptor reachableThrough = 5;
     */
    reachableThrough: PeerDescriptor[];
    /**
     * @generated from protobuf field: repeated dht.PeerDescriptor routingPath = 6;
     */
    routingPath: PeerDescriptor[];
    /**
     * @generated from protobuf field: repeated string parallelRootNodeIds = 7;
     */
    parallelRootNodeIds: string[];
}
/**
 * @generated from protobuf message dht.RouteMessageAck
 */
export interface RouteMessageAck {
    /**
     * @generated from protobuf field: string requestId = 1;
     */
    requestId: string;
    /**
     * @generated from protobuf field: optional dht.RouteMessageError error = 2;
     */
    error?: RouteMessageError;
}
/**
 * @generated from protobuf message dht.ConnectivityRequest
 */
export interface ConnectivityRequest {
    /**
     * @generated from protobuf field: uint32 port = 1;
     */
    port: number;
    /**
     * @generated from protobuf field: bool tls = 2;
     */
    tls: boolean;
    /**
     * @generated from protobuf field: optional string host = 3;
     */
    host?: string;
    /**
     * @generated from protobuf field: bool allowSelfSignedCertificate = 4;
     */
    allowSelfSignedCertificate: boolean;
}
/**
 * @generated from protobuf message dht.ConnectivityResponse
 */
export interface ConnectivityResponse {
    /**
     * @generated from protobuf field: string host = 1;
     */
    host: string;
    /**
     * @generated from protobuf field: string natType = 2;
     */
    natType: string;
    /**
     * @generated from protobuf field: dht.ConnectivityMethod websocket = 3;
     */
    websocket?: ConnectivityMethod;
    /**
     * @generated from protobuf field: uint32 ipAddress = 4;
     */
    ipAddress: number;
    /**
     * @generated from protobuf field: string protocolVersion = 5;
     */
    protocolVersion: string;
    /**
     * @generated from protobuf field: optional double latitude = 6;
     */
    latitude?: number;
    /**
     * @generated from protobuf field: optional double longitude = 7;
     */
    longitude?: number;
}
/**
 * @generated from protobuf message dht.HandshakeRequest
 */
export interface HandshakeRequest {
    /**
     * @generated from protobuf field: dht.PeerDescriptor sourcePeerDescriptor = 1;
     */
    sourcePeerDescriptor?: PeerDescriptor;
    /**
     * @generated from protobuf field: optional dht.PeerDescriptor targetPeerDescriptor = 2;
     */
    targetPeerDescriptor?: PeerDescriptor;
    /**
     * @generated from protobuf field: string protocolVersion = 3;
     */
    protocolVersion: string;
    /**
     * @generated from protobuf field: string applicationVersion = 4;
     */
    applicationVersion: string;
}
/**
 * @generated from protobuf message dht.HandshakeResponse
 */
export interface HandshakeResponse {
    /**
     * @generated from protobuf field: dht.PeerDescriptor sourcePeerDescriptor = 1;
     */
    sourcePeerDescriptor?: PeerDescriptor;
    /**
     * @generated from protobuf field: optional dht.HandshakeError error = 2;
     */
    error?: HandshakeError;
    /**
     * @generated from protobuf field: string protocolVersion = 3;
     */
    protocolVersion: string;
    /**
     * @generated from protobuf field: string applicationVersion = 4;
     */
    applicationVersion: string;
}
/**
 * @generated from protobuf message dht.Message
 */
export interface Message {
    /**
     * @generated from protobuf field: string messageId = 1;
     */
    messageId: string;
    /**
     * @generated from protobuf field: dht.PeerDescriptor sourceDescriptor = 2;
     */
    sourceDescriptor?: PeerDescriptor;
    /**
     * @generated from protobuf field: dht.PeerDescriptor targetDescriptor = 3;
     */
    targetDescriptor?: PeerDescriptor;
    /**
     * @generated from protobuf field: string serviceId = 4;
     */
    serviceId: string;
    /**
     * @generated from protobuf oneof: body
     */
    body: {
        oneofKind: "rpcMessage";
        /**
         * @generated from protobuf field: protorpc.RpcMessage rpcMessage = 5;
         */
        rpcMessage: RpcMessage;
    } | {
        oneofKind: "connectivityRequest";
        /**
         * @generated from protobuf field: dht.ConnectivityRequest connectivityRequest = 6;
         */
        connectivityRequest: ConnectivityRequest;
    } | {
        oneofKind: "connectivityResponse";
        /**
         * @generated from protobuf field: dht.ConnectivityResponse connectivityResponse = 7;
         */
        connectivityResponse: ConnectivityResponse;
    } | {
        oneofKind: "handshakeRequest";
        /**
         * @generated from protobuf field: dht.HandshakeRequest handshakeRequest = 8;
         */
        handshakeRequest: HandshakeRequest;
    } | {
        oneofKind: "handshakeResponse";
        /**
         * @generated from protobuf field: dht.HandshakeResponse handshakeResponse = 9;
         */
        handshakeResponse: HandshakeResponse;
    } | {
        oneofKind: "recursiveOperationRequest";
        /**
         * @generated from protobuf field: dht.RecursiveOperationRequest recursiveOperationRequest = 10;
         */
        recursiveOperationRequest: RecursiveOperationRequest;
    } | {
        oneofKind: undefined;
    };
}
/**
 * WebSocket
 *
 * @generated from protobuf message dht.WebsocketConnectionRequest
 */
export interface WebsocketConnectionRequest {
}
/**
 * WebRTC
 *
 * @generated from protobuf message dht.WebrtcConnectionRequest
 */
export interface WebrtcConnectionRequest {
}
/**
 * @generated from protobuf message dht.RtcOffer
 */
export interface RtcOffer {
    /**
     * @generated from protobuf field: string description = 1;
     */
    description: string;
    /**
     * @generated from protobuf field: string connectionId = 2;
     */
    connectionId: string;
}
/**
 * @generated from protobuf message dht.RtcAnswer
 */
export interface RtcAnswer {
    /**
     * @generated from protobuf field: string description = 1;
     */
    description: string;
    /**
     * @generated from protobuf field: string connectionId = 2;
     */
    connectionId: string;
}
/**
 * @generated from protobuf message dht.IceCandidate
 */
export interface IceCandidate {
    /**
     * @generated from protobuf field: string candidate = 1;
     */
    candidate: string;
    /**
     * @generated from protobuf field: string mid = 2;
     */
    mid: string;
    /**
     * @generated from protobuf field: string connectionId = 3;
     */
    connectionId: string;
}
/**
 * @generated from protobuf message dht.LockRequest
 */
export interface LockRequest {
    /**
     * @generated from protobuf field: string lockId = 1;
     */
    lockId: string;
}
/**
 * @generated from protobuf message dht.UnlockRequest
 */
export interface UnlockRequest {
    /**
     * @generated from protobuf field: string lockId = 1;
     */
    lockId: string;
}
/**
 * @generated from protobuf message dht.LockResponse
 */
export interface LockResponse {
    /**
     * @generated from protobuf field: bool accepted = 1;
     */
    accepted: boolean;
}
/**
 * @generated from protobuf message dht.DisconnectNotice
 */
export interface DisconnectNotice {
    /**
     * @generated from protobuf field: dht.DisconnectMode disconnectMode = 1;
     */
    disconnectMode: DisconnectMode;
}
/**
 * @generated from protobuf message dht.SetPrivateRequest
 */
export interface SetPrivateRequest {
    /**
     * @generated from protobuf field: bool isPrivate = 1;
     */
    isPrivate: boolean;
}
/**
 * @generated from protobuf message dht.ExternalFetchDataRequest
 */
export interface ExternalFetchDataRequest {
    /**
     * @generated from protobuf field: bytes key = 1;
     */
    key: Uint8Array;
}
/**
 * @generated from protobuf message dht.ExternalFetchDataResponse
 */
export interface ExternalFetchDataResponse {
    /**
     * @generated from protobuf field: repeated dht.DataEntry entries = 1;
     */
    entries: DataEntry[];
}
/**
 * @generated from protobuf message dht.ExternalFindClosestNodesRequest
 */
export interface ExternalFindClosestNodesRequest {
    /**
     * @generated from protobuf field: bytes nodeId = 1;
     */
    nodeId: Uint8Array;
}
/**
 * @generated from protobuf message dht.ExternalFindClosestNodesResponse
 */
export interface ExternalFindClosestNodesResponse {
    /**
     * @generated from protobuf field: repeated dht.PeerDescriptor closestNodes = 1;
     */
    closestNodes: PeerDescriptor[];
}
/**
 * @generated from protobuf enum dht.RecursiveOperation
 */
export declare enum RecursiveOperation {
    /**
     * @generated from protobuf enum value: FIND_CLOSEST_NODES = 0;
     */
    FIND_CLOSEST_NODES = 0,
    /**
     * @generated from protobuf enum value: FETCH_DATA = 1;
     */
    FETCH_DATA = 1,
    /**
     * @generated from protobuf enum value: DELETE_DATA = 2;
     */
    DELETE_DATA = 2
}
/**
 * @generated from protobuf enum dht.NodeType
 */
export declare enum NodeType {
    /**
     * @generated from protobuf enum value: NODEJS = 0;
     */
    NODEJS = 0,
    /**
     * @generated from protobuf enum value: BROWSER = 1;
     */
    BROWSER = 1
}
/**
 * @generated from protobuf enum dht.RpcResponseError
 */
export declare enum RpcResponseError {
    /**
     * @generated from protobuf enum value: SERVER_TIMOUT = 0;
     */
    SERVER_TIMOUT = 0,
    /**
     * @generated from protobuf enum value: CLIENT_TIMEOUT = 1;
     */
    CLIENT_TIMEOUT = 1,
    /**
     * @generated from protobuf enum value: SERVER_ERROR = 2;
     */
    SERVER_ERROR = 2,
    /**
     * @generated from protobuf enum value: UNKNOWN_RPC_METHOD = 3;
     */
    UNKNOWN_RPC_METHOD = 3
}
/**
 * @generated from protobuf enum dht.RouteMessageError
 */
export declare enum RouteMessageError {
    /**
     * @generated from protobuf enum value: NO_TARGETS = 0;
     */
    NO_TARGETS = 0,
    /**
     * @generated from protobuf enum value: DUPLICATE = 1;
     */
    DUPLICATE = 1,
    /**
     * TODO: can this be removed? If DhtNode is already stopped the server side requests
     * should not be processed
     *
     * @generated from protobuf enum value: STOPPED = 2;
     */
    STOPPED = 2
}
/**
 * @generated from protobuf enum dht.HandshakeError
 */
export declare enum HandshakeError {
    /**
     * @generated from protobuf enum value: DUPLICATE_CONNECTION = 0;
     */
    DUPLICATE_CONNECTION = 0,
    /**
     * @generated from protobuf enum value: INVALID_TARGET_PEER_DESCRIPTOR = 1;
     */
    INVALID_TARGET_PEER_DESCRIPTOR = 1,
    /**
     * @generated from protobuf enum value: UNSUPPORTED_PROTOCOL_VERSION = 2;
     */
    UNSUPPORTED_PROTOCOL_VERSION = 2
}
/**
 * @generated from protobuf enum dht.DisconnectMode
 */
export declare enum DisconnectMode {
    /**
     * @generated from protobuf enum value: NORMAL = 0;
     */
    NORMAL = 0,
    /**
     * @generated from protobuf enum value: LEAVING = 1;
     */
    LEAVING = 1
}
declare class StoreDataRequest$Type extends MessageType<StoreDataRequest> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.StoreDataRequest
 */
export declare const StoreDataRequest: StoreDataRequest$Type;
declare class StoreDataResponse$Type extends MessageType<StoreDataResponse> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.StoreDataResponse
 */
export declare const StoreDataResponse: StoreDataResponse$Type;
declare class ExternalStoreDataRequest$Type extends MessageType<ExternalStoreDataRequest> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.ExternalStoreDataRequest
 */
export declare const ExternalStoreDataRequest: ExternalStoreDataRequest$Type;
declare class ExternalStoreDataResponse$Type extends MessageType<ExternalStoreDataResponse> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.ExternalStoreDataResponse
 */
export declare const ExternalStoreDataResponse: ExternalStoreDataResponse$Type;
declare class ReplicateDataRequest$Type extends MessageType<ReplicateDataRequest> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.ReplicateDataRequest
 */
export declare const ReplicateDataRequest: ReplicateDataRequest$Type;
declare class DataEntry$Type extends MessageType<DataEntry> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.DataEntry
 */
export declare const DataEntry: DataEntry$Type;
declare class ClosestPeersRequest$Type extends MessageType<ClosestPeersRequest> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.ClosestPeersRequest
 */
export declare const ClosestPeersRequest: ClosestPeersRequest$Type;
declare class ClosestPeersResponse$Type extends MessageType<ClosestPeersResponse> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.ClosestPeersResponse
 */
export declare const ClosestPeersResponse: ClosestPeersResponse$Type;
declare class ClosestRingPeersRequest$Type extends MessageType<ClosestRingPeersRequest> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.ClosestRingPeersRequest
 */
export declare const ClosestRingPeersRequest: ClosestRingPeersRequest$Type;
declare class ClosestRingPeersResponse$Type extends MessageType<ClosestRingPeersResponse> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.ClosestRingPeersResponse
 */
export declare const ClosestRingPeersResponse: ClosestRingPeersResponse$Type;
declare class RecursiveOperationRequest$Type extends MessageType<RecursiveOperationRequest> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.RecursiveOperationRequest
 */
export declare const RecursiveOperationRequest: RecursiveOperationRequest$Type;
declare class RecursiveOperationResponse$Type extends MessageType<RecursiveOperationResponse> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.RecursiveOperationResponse
 */
export declare const RecursiveOperationResponse: RecursiveOperationResponse$Type;
declare class PingRequest$Type extends MessageType<PingRequest> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.PingRequest
 */
export declare const PingRequest: PingRequest$Type;
declare class PingResponse$Type extends MessageType<PingResponse> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.PingResponse
 */
export declare const PingResponse: PingResponse$Type;
declare class LeaveNotice$Type extends MessageType<LeaveNotice> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.LeaveNotice
 */
export declare const LeaveNotice: LeaveNotice$Type;
declare class PeerDescriptor$Type extends MessageType<PeerDescriptor> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.PeerDescriptor
 */
export declare const PeerDescriptor: PeerDescriptor$Type;
declare class ConnectivityMethod$Type extends MessageType<ConnectivityMethod> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.ConnectivityMethod
 */
export declare const ConnectivityMethod: ConnectivityMethod$Type;
declare class RouteMessageWrapper$Type extends MessageType<RouteMessageWrapper> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.RouteMessageWrapper
 */
export declare const RouteMessageWrapper: RouteMessageWrapper$Type;
declare class RouteMessageAck$Type extends MessageType<RouteMessageAck> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.RouteMessageAck
 */
export declare const RouteMessageAck: RouteMessageAck$Type;
declare class ConnectivityRequest$Type extends MessageType<ConnectivityRequest> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.ConnectivityRequest
 */
export declare const ConnectivityRequest: ConnectivityRequest$Type;
declare class ConnectivityResponse$Type extends MessageType<ConnectivityResponse> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.ConnectivityResponse
 */
export declare const ConnectivityResponse: ConnectivityResponse$Type;
declare class HandshakeRequest$Type extends MessageType<HandshakeRequest> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.HandshakeRequest
 */
export declare const HandshakeRequest: HandshakeRequest$Type;
declare class HandshakeResponse$Type extends MessageType<HandshakeResponse> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.HandshakeResponse
 */
export declare const HandshakeResponse: HandshakeResponse$Type;
declare class Message$Type extends MessageType<Message> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.Message
 */
export declare const Message: Message$Type;
declare class WebsocketConnectionRequest$Type extends MessageType<WebsocketConnectionRequest> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.WebsocketConnectionRequest
 */
export declare const WebsocketConnectionRequest: WebsocketConnectionRequest$Type;
declare class WebrtcConnectionRequest$Type extends MessageType<WebrtcConnectionRequest> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.WebrtcConnectionRequest
 */
export declare const WebrtcConnectionRequest: WebrtcConnectionRequest$Type;
declare class RtcOffer$Type extends MessageType<RtcOffer> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.RtcOffer
 */
export declare const RtcOffer: RtcOffer$Type;
declare class RtcAnswer$Type extends MessageType<RtcAnswer> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.RtcAnswer
 */
export declare const RtcAnswer: RtcAnswer$Type;
declare class IceCandidate$Type extends MessageType<IceCandidate> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.IceCandidate
 */
export declare const IceCandidate: IceCandidate$Type;
declare class LockRequest$Type extends MessageType<LockRequest> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.LockRequest
 */
export declare const LockRequest: LockRequest$Type;
declare class UnlockRequest$Type extends MessageType<UnlockRequest> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.UnlockRequest
 */
export declare const UnlockRequest: UnlockRequest$Type;
declare class LockResponse$Type extends MessageType<LockResponse> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.LockResponse
 */
export declare const LockResponse: LockResponse$Type;
declare class DisconnectNotice$Type extends MessageType<DisconnectNotice> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.DisconnectNotice
 */
export declare const DisconnectNotice: DisconnectNotice$Type;
declare class SetPrivateRequest$Type extends MessageType<SetPrivateRequest> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.SetPrivateRequest
 */
export declare const SetPrivateRequest: SetPrivateRequest$Type;
declare class ExternalFetchDataRequest$Type extends MessageType<ExternalFetchDataRequest> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.ExternalFetchDataRequest
 */
export declare const ExternalFetchDataRequest: ExternalFetchDataRequest$Type;
declare class ExternalFetchDataResponse$Type extends MessageType<ExternalFetchDataResponse> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.ExternalFetchDataResponse
 */
export declare const ExternalFetchDataResponse: ExternalFetchDataResponse$Type;
declare class ExternalFindClosestNodesRequest$Type extends MessageType<ExternalFindClosestNodesRequest> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.ExternalFindClosestNodesRequest
 */
export declare const ExternalFindClosestNodesRequest: ExternalFindClosestNodesRequest$Type;
declare class ExternalFindClosestNodesResponse$Type extends MessageType<ExternalFindClosestNodesResponse> {
    constructor();
}
/**
 * @generated MessageType for protobuf message dht.ExternalFindClosestNodesResponse
 */
export declare const ExternalFindClosestNodesResponse: ExternalFindClosestNodesResponse$Type;
/**
 * @generated ServiceType for protobuf service dht.DhtNodeRpc
 */
export declare const DhtNodeRpc: ServiceType;
/**
 * @generated ServiceType for protobuf service dht.RouterRpc
 */
export declare const RouterRpc: ServiceType;
/**
 * @generated ServiceType for protobuf service dht.RecursiveOperationRpc
 */
export declare const RecursiveOperationRpc: ServiceType;
/**
 * @generated ServiceType for protobuf service dht.StoreRpc
 */
export declare const StoreRpc: ServiceType;
/**
 * @generated ServiceType for protobuf service dht.RecursiveOperationSessionRpc
 */
export declare const RecursiveOperationSessionRpc: ServiceType;
/**
 * @generated ServiceType for protobuf service dht.WebsocketClientConnectorRpc
 */
export declare const WebsocketClientConnectorRpc: ServiceType;
/**
 * @generated ServiceType for protobuf service dht.WebrtcConnectorRpc
 */
export declare const WebrtcConnectorRpc: ServiceType;
/**
 * @generated ServiceType for protobuf service dht.ConnectionLockRpc
 */
export declare const ConnectionLockRpc: ServiceType;
/**
 * @generated ServiceType for protobuf service dht.ExternalApiRpc
 */
export declare const ExternalApiRpc: ServiceType;
export {};
