export interface StyleOptions { amplitude?: number; frequency?: number; speed?: number; intensity?: number; duration?: number; delay?: number; height?: number; stagger?: number; colors?: string[]; opacity?: number; blur?: number; bold?: boolean; italic?: boolean; fontSize?: string; fontFamily?: string; letterSpacing?: string; lineHeight?: string; textAlign?: 'left' | 'center' | 'right'; skew?: number; spread?: number; depth?: number; cursor?: boolean; cursorChar?: string; customClass?: string; onStart?: () => void; onComplete?: () => void; onIteration?: () => void; } export interface AnimationKeyframes { [key: string]: string; } export interface TextEffect { name: string; apply: (text: string, options?: StyleOptions) => string; keyframes?: AnimationKeyframes; defaultOptions?: Partial; } export interface ValidationResult { isValid: boolean; message?: string; suggestions?: string[]; } export interface EffectResult { html: string; css: string; options: StyleOptions; } export type EffectName = 'wave' | 'gradient' | 'rainbow' | 'bounce' | 'typewriter' | 'neon' | 'threeDimensional' | 'mirror' | 'fire' | 'glitch' | 'sparkle'; export interface ChainedEffect { name: EffectName; options?: StyleOptions; } export declare class TextStylizerError extends Error { constructor(message: string); } export declare class InvalidEffectError extends TextStylizerError { constructor(effectName: string); } export declare class ValidationError extends TextStylizerError { constructor(message: string); }