import { type ReactElement, type ReactNode, type Ref } from "react"; import "./motion-text.css"; export type MotionTextUnit = "character" | "word" | "line" | "paragraph"; export type MotionTextDirection = "forward" | "reverse"; export type MotionTextAnimationDirection = "in" | "out"; export type MotionTextOrder = "left-to-right" | "right-to-left" | "center-out" | "random" | "top-to-bottom" | "bottom-to-top"; export type MotionTextProperty = "opacity" | "translate" | "scale" | "rotate" | "filter"; export type MotionTextPlaybackMode = "loop" | "once" | "ping-pong"; export interface MotionTextKeyframe { t: number; value: string; ease?: string; } export interface MotionTextAnimation { targetNodeId: string; unit: MotionTextUnit; direction: MotionTextDirection; staggerMs: number; animationDirection?: MotionTextAnimationDirection; order?: MotionTextOrder; overlapPercent?: number; ignoreSpaces?: boolean; delayMs?: number; property: MotionTextProperty; durationMs: number; keyframes: MotionTextKeyframe[]; } export interface AgentNativeMotionTextProps { animation?: MotionTextAnimation; animations?: MotionTextAnimation[]; playbackMode?: MotionTextPlaybackMode; children: ReactElement; } type MotionTextHostProps = Record & { children?: ReactNode; ref?: Ref; }; /** * Applies static text property animations to a single intrinsic JSX host element. * Importing this entry includes the package stylesheet; the same asset is * available as `@agent-native/core/client/motion-text.css` for CSS-only setups. */ export declare function AgentNativeMotionText({ animation, animations: animationList, playbackMode, children, }: AgentNativeMotionTextProps): ReactElement>; export {};