import { Directive } from 'vue';
/**
* v-reveal — animate an element into view on first scroll-intersection.
*
*
…
// default: fade + rise
* …
// slide from a direction
* …
* // stagger
*
* Adds `.bgl-reveal` immediately (hidden, pre-transformed) and toggles
* `.bgl-reveal-in` once the element enters the viewport. Honors
* `prefers-reduced-motion` (shows instantly, no transform). All visual tuning
* lives in CSS (motion.css) via data-attributes, so it's themeable and cheap.
*/
type Dir = 'up' | 'down' | 'left' | 'right' | 'none';
interface RevealOptions {
/** Direction the element travels in from. Default 'up'. */
y?: Dir;
/** Stagger / entrance delay in ms. */
delay?: number;
/** Animate only once (default) or re-run when scrolled away and back. */
once?: boolean;
/** 0–1 visibility threshold before triggering. Default 0.12. */
threshold?: number;
}
declare const reveal: Directive;
export default reveal;
export type { RevealOptions };
//# sourceMappingURL=reveal.d.ts.map