interface AnimatedTextProps {
    words: string[];
    interval?: number;
    transitionDuration?: number;
}
interface AnimatedTextState {
    currentIndex: number;
}
interface AnimatedTextAPI {
    /** Get the current word */
    getCurrentWord: () => string;
    /** Get the next index (wraps around) */
    getNextIndex: () => number;
    /** Current state */
    state: AnimatedTextState;
}
interface TypewriterProps {
    text: string;
    speed?: number;
    startDelay?: number;
}
interface TypewriterState {
    currentIndex: number;
}
interface TypewriterAPI {
    /** Get the currently visible portion of text */
    getVisibleText: () => string;
    /** Whether the typewriter has finished */
    isComplete: () => boolean;
    /** Current state */
    state: TypewriterState;
}
declare function createAnimatedText(props: AnimatedTextProps): AnimatedTextAPI;
declare function createTypewriter(props: TypewriterProps): TypewriterAPI;

declare const animatedTextVariants: (props?: ({
    state?: "entering" | "exiting" | "idle" | undefined;
} & {
    className?: string;
}) | undefined) => string;
declare const typewriterVariants: (props?: ({
    cursor?: "blinking" | "hidden" | undefined;
} & {
    className?: string;
}) | undefined) => string;

export { type AnimatedTextAPI, type AnimatedTextProps, type AnimatedTextState, type TypewriterAPI, type TypewriterProps, type TypewriterState, animatedTextVariants, createAnimatedText, createTypewriter, typewriterVariants };
