import type { ApiServer } from '../ApiServer'; import type { EdgeNodeRepository } from '../../identity/drizzle/EdgeNodeRepository'; export interface ReachabilityHandlerOptions { repository: EdgeNodeRepository; baseStorageDomain?: string; apiBaseUrl?: string | (() => string); now?: () => Date; randomId?: () => string; maxActiveP2PSessionsPerNode?: number; maxP2PCandidatesPerUpdate?: number; maxP2PCandidatesPerSession?: number; /** * Whether a Solid principal may act on a node, e.g. through Pod ownership or an * explicit grant. Absent means "cannot prove access", which denies instead of * handing an unrelated WebID signaling access to the node. */ canAccessNode?: (nodeId: string, webId: string) => Promise | boolean; } export declare function registerReachabilityRoutes(server: ApiServer, options: ReachabilityHandlerOptions): void;