import { type TCoreArgument, type TCorePremise, type TCorePropositionalExpression, type TCorePropositionalVariable } from "../../schemata/index.js"; import type { PremiseEngine } from "../premise-engine.js"; import type { VariableManager } from "../variable-manager.js"; /** * What the circularity check reads from an `ArgumentEngine`, built by the * engine for each call. */ export type TCycleContext = { variables: VariableManager; premises: Map>; }; /** * Whether binding `variableId` into the premise `targetPremiseId` would close * a cycle: the variable is bound to that premise, directly or through the * premise-bound variables of the premises it reaches. */ export declare function wouldCreateCycle(ctx: TCycleContext, variableId: string, targetPremiseId: string, visited: Set): boolean; //# sourceMappingURL=circularity.d.ts.map