UNPKG

yukinovel

Version:

Yukinovel is a simple web visual novel engine.

44 lines (43 loc) 1.77 kB
export interface AnimationConfig { duration?: number; easing?: string; delay?: number; repeat?: number | 'infinite'; direction?: 'normal' | 'reverse' | 'alternate' | 'alternate-reverse'; fillMode?: 'none' | 'forwards' | 'backwards' | 'both'; onComplete?: () => void; onUpdate?: (progress: number) => void; } export interface TransitionEffect { name: string; duration: number; easing?: string; customCSS?: string; } export declare class AnimationManager { private activeAnimations; private transitionEffects; constructor(); private registerDefaultTransitions; animateElement(element: HTMLElement, keyframes: Keyframe[] | PropertyIndexedKeyframes, config?: AnimationConfig): Promise<void>; animateCharacterEntrance(element: HTMLElement, effectName?: string, position?: { x?: number; y?: number; }): Promise<void>; animateCharacterExit(element: HTMLElement, effectName?: string): Promise<void>; animateSceneTransition(outElement: HTMLElement, inElement: HTMLElement, effectName?: string): Promise<void>; animateTypewriter(element: HTMLElement, text: string, speed?: number): Promise<void>; shakeScreen(intensity?: number, duration?: number): Promise<void>; createParallaxEffect(elements: HTMLElement[], speeds: number[], direction?: 'horizontal' | 'vertical'): void; createParticleEffect(container: HTMLElement, particleCount?: number, config?: { color?: string; size?: number; speed?: number; direction?: number; life?: number; }): void; private getEntranceKeyframes; private getExitKeyframes; stopAllAnimations(): void; registerTransitionEffect(name: string, effect: TransitionEffect): void; }