/** * `useAnimate()` returns `{ scope, animate }` for imperative animation * against elements inside a scoped subtree. `scope` is a Vue template * ref to bind via `:ref="scope"`; `animate(target, props, opts)` * resolves `target` (a CSS selector queried within scope, an Element, * or an Element[]) and runs a `tween()` of `props` against each match. * * const { scope, animate } = useAnimate() * const handleClick = () => animate("li", { opacity: [0, 1] }, { duration: 300 }) * */ import { type Controls, type PlayOpts, type TweenOpts, type TweenProps } from "@kinem/core"; import { type Ref } from "vue"; export type AnimateTarget = string | HTMLElement | readonly HTMLElement[]; export type UseAnimateAnimate =

(target: AnimateTarget, props: P, opts?: TweenOpts & PlayOpts) => Controls; export interface UseAnimateResult { readonly scope: Ref; readonly animate: UseAnimateAnimate; } export declare function useAnimate(): UseAnimateResult; //# sourceMappingURL=useAnimate.d.ts.map