declare class Timeout {
    static create(): Timeout;
    currentId: number;
    /**
     * Executes `fn` after `delay`, clearing any previously scheduled call.
     */
    start(delay: number, fn: () => void): void;
    isStarted(): boolean;
    clear: () => void;
    disposeEffect: () => () => void;
}
/**
 * A `setTimeout` with automatic cleanup and guard.
 */
declare function useTimeout(): Timeout;
export { Timeout, useTimeout };
