///
/**
* Returns a controller object for setting a timeout that is properly cleaned up
* once the component unmounts. New timeouts cancel and replace existing ones.
*
* ```tsx
* const { set, clear } = useTimeout();
* const [hello, showHello] = useState(false);
* //Display hello after 5 seconds
* set(() => showHello(true), 5000);
* return (
*
* {hello ?
Hello
: null}
*
* );
* ```
*/
export default function useTimeout(): {
set(fn: () => void, delayMs?: number): void;
clear(): void;
isPending: boolean;
handleRef: import("react").RefObject;
};