import { DependencyList, EffectCallback } from 'react';
/**
 * Shortcut for `useEffectWhen(effect, isDefined, deps)`
 * @param effect The effect function to call when all the dependencies are defined.
 * @param deps The dependency array.
 */
export declare function useEffectWhenDefined(effect: EffectCallback, deps: DependencyList): void;
/**
 * Shortcut for `useLayoutEffectWhen(effect, isDefined, deps)`
 * @param effect The effect function to call when all the dependencies are defined.
 * @param deps The dependency array.
 */
export declare function useLayoutEffectWhenDefined(effect: EffectCallback, deps: DependencyList): void;
/**
 * Shortcut for `useMemoWhen(factory, isDefined, deps)`
 * @param factory The value generating function to call when all the dependencies are defined.
 * @param deps The dependency array.
 *
 * @returns The value generated by the factory if all dependencies are defined, `undefined` otherwise.
 */
export declare function useMemoWhenDefined<T extends any>(factory: () => T, deps: DependencyList): T | undefined;
/**
 * Shortcut for `useCallbackWhen(callback, isDefined, deps)`
 * @param callback The callback to create when all the dependencies are defined.
 * @param deps The dependency array.
 *
 * @returns The callback if all dependencies are defined, `undefined` otherwise.
 */
export declare function useCallbackWhenDefined<T extends (...args: any[]) => any>(callback: T, deps: DependencyList): T | undefined;
