import { Pass } from 'three/examples/jsm/postprocessing/Pass.js';
import { Reactive, ShallowRef } from 'vue';
/**
 * @param newPassFunction - A function that returns a new pass instance.
 * @param passDependencies - A reactive object that the pass depends on (usually props). Changes to this object will trigger re-rendering.
 * @param dependencyFieldsTriggeringRecreation - fields in passDependencies that require effect recreation when changed
 */
export declare const useEffect: <T extends Pass, D extends Record<PropertyKey, any>>(newPassFunction: () => T, passDependencies?: Reactive<D>, dependencyFieldsTriggeringRecreation?: (keyof D)[]) => {
    pass: ShallowRef<T>;
};
