import type { Predicate } from '../predicate.js'; import { type JsonSchema } from '../types.js'; import { type PathExistence } from './schema-utils.js'; import type { FlowValidationIssue } from './types.js'; export interface ScopedPath { raw: string; root: string; rest: string; } export interface PathContext { input?: JsonSchema; state?: JsonSchema; results: ReadonlyMap; requestContext?: JsonSchema; } export declare function unwrapPath(rawPath: string): string; export declare function parseScopedPath(rawPath: string): ScopedPath | undefined; export declare function measurePredicate(pred: Predicate): { depth: number; nodes: number; }; export declare function scopedPathExistence(parsed: ScopedPath, ctx: PathContext): PathExistence; export declare function validateScopedPath(rawPath: string, issuePath: string, ctx: PathContext, code: 'invalid-predicate-reference' | 'invalid-map-reference' | 'invalid-template'): FlowValidationIssue | undefined; export declare function validatePredicateTree(predicate: Predicate, path: string, ctx: PathContext): FlowValidationIssue[];