import * as React from 'react'; export type StreamMode = 'typewriter' | 'fade'; export interface UseTextStreamOptions { /** Text content to stream */ textStream: string | AsyncIterable; /** Animation speed (1-100) */ speed?: number; /** Callback when streaming completes */ onComplete?: () => void; } export interface UseTextStreamReturn { /** Current displayed text */ displayedText: string; /** Whether streaming is in progress */ isStreaming: boolean; /** Whether streaming is complete */ isComplete: boolean; /** Reset the stream */ reset: () => void; } export declare function useTextStream(options: UseTextStreamOptions): UseTextStreamReturn; interface TypewriterTextProps { text: string; className?: string; } declare function TypewriterText({ text, className }: TypewriterTextProps): React.JSX.Element; declare namespace TypewriterText { var displayName: string; } interface FadeTextProps { text: string; className?: string; } declare function FadeText({ text, className }: FadeTextProps): React.JSX.Element; declare namespace FadeText { var displayName: string; } export interface AIResponseStreamProps { /** Text content to stream (string or async iterable) */ textStream: string | AsyncIterable; /** Animation mode */ mode?: StreamMode; /** Animation speed (1-100) */ speed?: number; /** Callback when streaming completes */ onComplete?: () => void; /** Whether to show cursor during streaming */ showCursor?: boolean; /** Additional class name */ className?: string; } declare function AIResponseStream({ textStream, mode, speed, onComplete, showCursor, className, }: AIResponseStreamProps): React.JSX.Element; declare namespace AIResponseStream { var displayName: string; } export { AIResponseStream, FadeText, TypewriterText };