/** * Shared HTTP path matching — used by checks.ts and flows.ts. */ import type { SutraNode } from "../types.js"; export declare function normalisePath(p: string): string; export declare function segments(p: string): string[]; export declare function isDynamic(seg: string): boolean; export declare function pathMatches(definedPath: string, clientPath: string): boolean; export declare function parseEndpointDef(node: SutraNode): { method: string; path: string; } | null; export declare function parseHttpTargetId(id: string): { method: string; path: string; host: string | null; } | null; export declare function collectProxyPrefixes(nodes: SutraNode[]): string[]; export declare function isCoveredByProxy(urlPath: string, proxyPrefixes: string[]): boolean; export declare function collectExternalHosts(nodes: SutraNode[]): string[]; /** True if path matching used a dynamic segment (candidate boundary). */ export declare function matchUsedDynamicSegment(definedPath: string, clientPath: string): boolean;