import { MaybeRefOrGetter, Ref } from 'vue'; export interface UseDeferredLoadingOptions { /** * Hold the skeleton back for this long. Data that arrives sooner never shows * one at all, which is what stops a fast response from flashing. */ delay?: number; /** * Once the skeleton is up, keep it up for at least this long, so it does not * vanish half-drawn the instant the data lands. */ minDuration?: number; } /** * Turns a raw loading flag into one a skeleton can be bound to without flicker. * * A skeleton that appears and disappears within a few frames is more distracting * than no skeleton at all, so the two ends are damped: nothing shows before * `delay`, and nothing hides before `minDuration` has passed. */ export declare function useDeferredLoading(source: MaybeRefOrGetter, options?: UseDeferredLoadingOptions): Ref;