export type OverlayPhase = 'closed' | 'enter' | 'open' | 'leave'; /** * First painted frame of an open already has the enter class, and the first * painted frame of a close already has the leave class. Setting those in * `useEffect` paints one frame at the wrong opacity / display and looks like * a violent blink. */ export declare function useOverlayPhase(visible: boolean): { phase: OverlayPhase; onAnimationEnd: (event: React.AnimationEvent) => void; shown: boolean; entering: boolean; leaving: boolean; };