import type { PodLookupRepository } from '../../identity/drizzle/PodLookupRepository'; /** * Whether a Solid principal may act on an edge node. * * Reachability sessions expose a node's private candidates, so "is authenticated" is not * enough: the caller has to be related to that node (Pod ownership, or an explicit grant * once one exists). */ export type NodeAccessResolver = (nodeId: string, webId: string) => Promise; /** * Authorizes a WebID for a node when one of the node's Pods is owned by that WebID. * * A missing repository resolves to "no access" rather than "no restriction": the caller * decides what to do with an unprovable relationship, and the reachability handler denies. */ export declare function createPodOwnershipNodeAccessResolver(podLookupRepository: Pick | undefined): NodeAccessResolver;