import type { ResolvedFabricAction } from "../core/action-registry.js"; import type { FabricComponentEffectConflict, FabricComponentEffectInfo, FabricComponentEffectOptions, FabricComponentEffectRegistration } from "./types.js"; export declare class FabricComponentIndependenceError extends Error { constructor(message: string); } export declare const trackedRegistration: (registration: FabricComponentEffectRegistration | undefined, fallbackLabel: string) => FabricComponentEffectOptions; export declare const registrationEffect: (registration: FabricComponentEffectOptions) => FabricComponentEffectInfo; export declare const actionEffect: (action: ResolvedFabricAction) => FabricComponentEffectInfo | undefined; interface FabricComponentEffectSummary { hasEffects: boolean; hasNoncommutative: boolean; hasUnknown: boolean; hasUnknownNoncommutative: boolean; resourceNoncommutative: Map; } type FabricComponentConflictBasis = Omit; export declare const summarizeEffects: (effects: readonly FabricComponentEffectInfo[]) => FabricComponentEffectSummary; export declare const effectConflictsBetween: (left: FabricComponentEffectSummary, right: FabricComponentEffectSummary) => FabricComponentConflictBasis[]; export declare const compareEffectInfo: (left: FabricComponentEffectInfo, right: FabricComponentEffectInfo) => number; export {}; //# sourceMappingURL=effect-policy.d.ts.map