export declare class Effects {
    #private;
    properties: Set<string | symbol>;
    methods: Set<string>;
    vars: Set<string | symbol>;
    contextSnapshot?: string;
    private expression;
    private previousValues;
    private firstExecution;
    constructor(expression?: string);
    updateDependancies(context: Record<string, unknown>): string[];
    eval(context: Record<string, unknown>, contextSnapshot?: string): boolean;
    add(name: string): void;
    merge(effets: Effects): void;
    clone(): Effects;
    reset(): void;
    private setPreviousValue;
    private comparePreviousValue;
    isLocked: boolean;
    activateProcessingChanges(): void;
    doneProcessingChanges(): void;
    shouldUpdate(data: Record<string, unknown>, dataModifier: Record<string, unknown>, propertychanged: (string | symbol)[]): boolean;
}
//# sourceMappingURL=side-effects.d.ts.map