import http from "node:http"; export type RecordedRequest = { method: string; url: string; timestamp: number; headers: http.IncomingHttpHeaders; body: string; }; export type MockHttpRouterFaultMode = "errorStatus" | "malformed" | "resetMidResponse" | "blackHole"; export type MockHttpRouterOptions = { hostname?: string; port?: number; providerGetDelayMs?: number; faultMode?: MockHttpRouterFaultMode; errorStatusCode?: number; }; export declare class MockHttpRouter { private _server; private _hostname; private _port; private _baseUrl?; private _providerRecords; private _requests; private _providerGetDelayMs; private _faultMode?; private _errorStatusCode; private _abortedProviderGetCount; private _inFlightProviderGetCount; private _maxConcurrentProviderGetCount; constructor(options?: MockHttpRouterOptions); get url(): string; get hostname(): string; get port(): number; get requests(): RecordedRequest[]; get abortedProviderGetCount(): number; get maxConcurrentProviderGetCount(): number; start(): Promise; destroy(): Promise; clearRequests(): void; hasProvidersFor(cid: string): boolean; getProvidersFor(cid: string): any[]; private _handleRequest; private _buildCorsHeaders; private _buildUrl; private _recordRequest; private _readBody; private _isProvidersPublishPath; private _isProvidersGetPath; private _handleProviderPublish; addProviderForTesting(cid: string, provider: { ID: string; Addrs: string[]; Protocols?: string[]; }): void; private _stallUntilDelayOrClientGone; private _handleProviderGet; private _handleProviderGetInner; private _filterProviders; private _filterAddrs; private _filterProtocols; private _writeProvidersResponse; private _getLatestTimestamp; private _getAddrsReference; private _addrMatches; private _parseFilterParam; private _getProviderProtocols; private _addProviderRecord; private _getActiveProviders; private _getCidVariants; private _normalizeProvider; private _extractAddrs; private _cloneProvider; }