aahook
Version:
A CLI tool that displays ASCII art when commands succeed or fail
70 lines • 1.89 kB
TypeScript
/**
* Animation-related type definitions
*/
export interface AnimationDefinition {
name: string;
version: string;
type: AnimationType;
fps: number;
loop: number | 'infinite';
frames?: Frame[];
effects?: Effect[];
}
export type AnimationType = 'frames' | 'typing' | 'fade' | 'slide' | 'blink' | 'composite';
export interface Frame {
content: string;
duration?: number;
transition?: TransitionType;
}
export type TransitionType = 'none' | 'fade' | 'slide' | 'dissolve';
export interface Effect {
type: EffectType;
duration: number;
direction?: Direction;
easing?: EasingFunction;
delay?: number;
}
export type EffectType = 'typing' | 'fade-in' | 'fade-out' | 'slide-in' | 'slide-out' | 'blink' | 'shake';
export type Direction = 'left' | 'right' | 'up' | 'down' | 'top' | 'bottom';
export type EasingFunction = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'cubic-bezier' | 'bounce' | 'elastic';
export interface AnimateOptions {
type?: AnimationType;
speed?: number;
fps?: number;
loop?: number | 'infinite';
direction?: Direction;
save?: boolean;
preview?: boolean;
output?: string;
theme?: string;
list?: boolean;
}
export interface AnimationState {
currentFrame: number;
elapsedTime: number;
loopCount: number;
isPlaying: boolean;
}
export interface TimingOptions {
duration?: number;
delay?: number;
fps?: number;
loop?: number;
charDelay?: number;
lineDelay?: number;
easing?: EasingFunction;
}
export interface AnimationOptions {
type?: AnimationType;
timing?: TimingOptions;
effects?: AnimationEffects;
theme?: string;
save?: boolean;
preview?: boolean;
}
export interface AnimationEffects {
direction?: Direction;
reverse?: boolean;
pattern?: string;
}
//# sourceMappingURL=animation.d.ts.map