$visited Same-site path prefix already visited. * @return array{status: string, path: array, reason?: string} */ public function walk(string $url, array $visited): array; /** * Resolve a typed redirect destination and continue walking from it. * * Resolution happens before the optional lookup context is applied. An * initial resolution refusal returns the supplied source as its path so a * pending regex keeps the same diagnostic path as ordinary writes. * * @param array{type: int, destination: mixed, source: string, code?: int} $destination * @param array $visited Same-site path prefix already visited. * @param array $lookupContext Request-local lookup context. * @return array{status: string, path: array, reason?: string} */ public function walkFromDestination(array $destination, array $visited, array $lookupContext = array()): array; /** * Return a traversal with request-local lookup context applied. * * The context may include `excluded_redirect_id` and `pending_regex` * values used to evaluate a pending write against the live graph. * * @param array $context Request-local lookup context. * @return self A traversal with the supplied context. */ public function withLookupContext(array $context): self; }