/// import { EventEmitter } from 'events'; import * as Shardus from '../shardus/shardus-types'; import { P2P as P2PTypings } from '@shardeum-foundation/lib-types'; import { ShardusTypes } from '../shardus'; import { VectorBufferStream } from '../utils/serialization/VectorBufferStream'; import { AppHeader } from '@shardeum-foundation/lib-net/build/src/types'; import { InternalBinaryHandler } from '../types/Handler'; export declare class P2P extends EventEmitter { registerInternal: (route: any, handler: any) => void; registerInternalBinary: (route: string, handler: InternalBinaryHandler) => void; registerGossipHandler: (type: any, handler: any) => void; unregisterGossipHandler: (type: any) => void; unregisterInternal: (route: any) => void; ask: (node: ShardusTypes.Node, route: string, message?: {}, logged?: boolean, tracker?: string, extraTime?: number) => Promise; askBinary: (node: ShardusTypes.Node, route: string, message: TReq, reqSerializerFunc: (stream: VectorBufferStream, obj: TReq, root?: boolean) => void, respDeserializerFunc: (stream: VectorBufferStream, root?: boolean) => TRes, appHeader: AppHeader, tracker?: string, logged?: boolean, extraTime?: number) => Promise; tell: (nodes: any, route: any, message: any, logged?: boolean, tracker?: string) => Promise; tellBinary: (nodes: ShardusTypes.Node[], route: string, message: TReq, serializerFunc: (stream: VectorBufferStream, obj: TReq, root?: boolean) => void, appHeader: AppHeader, logged?: boolean, tracker?: string) => Promise; sendGossipIn: (type: any, payload: any, tracker?: string, sender?: any, inpNodes?: Shardus.NodeWithRank[] | Shardus.Node[], isOrigin?: boolean, factor?: number, txId?: string) => Promise; sendGossipAll: (type: any, payload: any, tracker?: string, sender?: any, inpNodes?: P2PTypings.NodeListTypes.Node[]) => Promise; robustQuery: any; state: typeof state; constructor(); get isFirstSeed(): boolean; get isActive(): boolean; get id(): string; getNodeId(): string; initApoptosis(message: string, userFriendlyMessage?: string): void; allowTransactions(): boolean; allowSet(): boolean; setJoinRequestToggle(bool: any): void; getLatestCycles(amount: any): P2PTypings.CycleCreatorTypes.CycleRecord[]; shutdown(): void; configUpdated(): void; } export declare const p2p: P2P; declare class State extends EventEmitter { getNode(id: string): P2PTypings.NodeListTypes.Node | undefined; getRemovedNodePubKeyFromCache(id: string): P2PTypings.NodeListTypes.Node['publicKey'] | undefined; getNodes(): Map; getNodesRequestingJoin(): P2PTypings.P2PTypes.P2PNode[]; getNodeByPubKey(pubkey: any): P2PTypings.NodeListTypes.Node; getActiveNodes_orig(id: any): unknown[]; getActiveNodes(id?: any): P2PTypings.NodeListTypes.Node[]; getOrderedSyncingNeighbors(node: any): P2PTypings.NodeListTypes.Node[]; getLastCycle(): P2PTypings.CycleCreatorTypes.CycleRecord; getCycleByCounter(counter: any): P2PTypings.CycleCreatorTypes.CycleRecord; getCycleByTimestamp(timestamp: any): P2PTypings.CycleCreatorTypes.CycleRecord; } declare const state: State; export {};