import type { IDerivation } from '@theatre/dataverse';
import { val } from '@theatre/dataverse';
export declare function usePrism<T>(fn: () => T, deps: unknown[], debugLabel?: string): T;
export declare const useVal: typeof val;
/**
 * This makes sure the prism derivation remains hot as long as the
 * component calling the hook is alive, but it does not
 * return the value of the derivation, and it does not
 * re-render the component if the value of the derivation changes.
 *
 * Use this hook if you plan to read a derivation in a
 * useEffect() call, without the derivation causing your
 * element to re-render.
 */
export declare function usePrismWithoutReRender<T>(fn: () => T, deps: unknown[]): IDerivation<T>;
/**
 * This makes sure the derivation remains hot as long as the
 * component calling the hook is alive, but it does not
 * return the value of the derivation, and it does not
 * re-render the component if the value of the derivation changes.
 */
export declare function useDerivationWithoutReRender<T>(der: IDerivation<T>): IDerivation<T>;
//# sourceMappingURL=index.d.ts.map