import type { DesignResourceHandoffV1 } from "./design-resource-handoff-types.js"; import type { DesignResourceObservableRuleManifestV2, DesignResourceSymbolicFactRuleV2, DesignResourceSymbolicHandoffTargetV2 } from "./design-resource-symbolic-fact-types.js"; import type { SymbolicDenotationAxisDomain, SymbolicDenotationPredicate } from "./symbolic-denotation-types.js"; interface FeasibilityTargetModelBase { target_ref: string; source_profile_kind: "implementation_web" | "implementation_app" | "reference"; component_family_refs: string[]; component_family_subject_refs: Map>; } export interface DesignResourceImplementationFeasibilityV1TargetModel extends FeasibilityTargetModelBase { representation: "fact_cells_v1"; condition_refs: string[]; facts: Map; } export interface DesignResourceImplementationFeasibilityV2TargetModel extends FeasibilityTargetModelBase { representation: "symbolic_rules_v2"; axis_domains: SymbolicDenotationAxisDomain[]; reachable_region: SymbolicDenotationPredicate; fact_rules: Map; } export type DesignResourceImplementationFeasibilityTargetModel = DesignResourceImplementationFeasibilityV1TargetModel | DesignResourceImplementationFeasibilityV2TargetModel; export declare function createV1ImplementationFeasibilityTargetModel(handoff: DesignResourceHandoffV1, target: DesignResourceHandoffV1["targets"][number]): DesignResourceImplementationFeasibilityV1TargetModel; export declare function createV2ImplementationFeasibilityTargetModel(target: DesignResourceSymbolicHandoffTargetV2, manifest: DesignResourceObservableRuleManifestV2): DesignResourceImplementationFeasibilityV2TargetModel; export declare function deriveComponentFamilySubjectClosure(familyRefs: string[], subjects: Array<{ key: string; family_ref: string | null; parent_ref: string | null; instance_of_ref: string | null; override_of_ref: string | null; }>): Map>; export {};