import { JsonPointerString } from "../MetaInfoProducer.js"; import TemplateProcessor from "../TemplateProcessor.js"; export declare class CircularDependencyChecker { private tp; private visited; constructor(tp: TemplateProcessor, visited: Set); isCircular(dependency: JsonPointerString, owner: JsonPointerString): boolean; /** * Used to detect a condition where like "data:${data.foo}" which essentially declares a dependency on the * expression itself. This is inherently circular. You cannot say "use that thing in this expression, where * that thing is a product of evaluating this expression". You also cannot say "use that thing in this * expression where that thing is a direct ancestor of this expression" as that is also circular, implying that * the expression tries to reference an ancestor node, whose descendent includes this very node. */ private isCommonPrefix; logCircular(dependency: JsonPointerString): void; } //# sourceMappingURL=CircularDependencyChecker.d.ts.map