import type { AsTag, Options } from "../../types/index.js"; import type { DOMMotionComponents } from "framer-motion"; import type { Component } from "svelte"; export interface MotionProps extends Omit, "motionConfig" | "layoutGroup"> { as?: T; asChild?: boolean; ref?: HTMLElement | SVGElement | null; whileDrag?: Options["whileDrag"]; whileHover?: Options["whileHover"]; whilePress?: Options["whilePress"]; whileInView?: Options["whileInView"]; whileFocus?: Options["whileFocus"]; forwardMotionProps?: boolean; ignoreStrict?: boolean; } export type MotionComponentProps = { [K in Exclude]?: Props[K]; } & MotionProps & { ref?: HTMLElement | SVGElement | null; }; export type MotionComponent = T extends keyof DOMMotionComponents ? DOMMotionComponents[T] : Component, "children"> & { children?: "children" extends keyof P ? P["children"] | MotionComponentProps

["children"] : MotionComponentProps

["children"]; }>;