interface NodeManagerProps { nodeUrls: string[]; useStickyNode?: boolean; unavailableDuration?: number; } export declare class NetworkNode { url: string; availabilityDate: number; constructor(url: string); isAvailable(): boolean; makeUnavailable(duration: number): void; makeAvailable(): void; } export declare const createNodeManager: ({ nodeUrls, useStickyNode, unavailableDuration, }: NodeManagerProps) => { nodes: NetworkNode[]; stickedNode: NetworkNode | null; useStickyNode: boolean; lastUsedNode: NetworkNode | null; getAvailableNodes(customRecoveryThreshold?: number): NetworkNode[]; setStickyNode(node: NetworkNode): void; setUseStickyNode(useSticky: boolean): void; getNode(): NetworkNode | null; makeAllNodesAvailable(): void; makeNodeUnavailable(nodeUrl: string, duration?: number): void; }; export type NodeManager = ReturnType; export {};