import type { SymbolicDenotationCanonicalDagV1, SymbolicDenotationComplexityLimits, SymbolicDenotationPredicate } from "./symbolic-denotation-types.js"; import type { SymbolicRuntimeAxis } from "./symbolic-denotation-runtime.js"; export declare class SymbolicDecisionDagBuilder { private readonly axes; private readonly limits; private readonly nodes; private readonly unique; private readonly predicateMemo; private readonly applyMemo; private readonly notMemo; private constructedEdges; constructor(axes: SymbolicRuntimeAxis[], limits: SymbolicDenotationComplexityLimits); predicate(predicate: SymbolicDenotationPredicate, domainIndex: ReadonlyMap): number; private compilePredicate; private inPredicate; private rangePredicate; private groupPredicate; canonicalize(rootId: number): SymbolicDenotationCanonicalDagV1; private checkCanonicalLimits; private atom; private negate; private apply; private reduceApply; private node; }