import { BezierCurveKey, BezierStyleKey, BounceCurveKey, EasingType, OvershootCurveKey, OvershootStyleKey, SpringCurveKey, WiggleCurveKey } from "../types/enums"; import { BezierEasingOutput, LinearEasingOutput } from "./output"; import { BezierParams, BounceParams, OvershootParams, SpringParams, WiggleParams } from "./params"; export interface BezierPreset { id: string; type: typeof EasingType.BEZIER; style: BezierStyleKey; curve: BezierCurveKey; params: BezierParams; output: BezierEasingOutput; } export interface SpringPreset { id: string; type: typeof EasingType.SPRING; curve: SpringCurveKey; params: SpringParams; output: LinearEasingOutput; } export interface BouncePreset { id: string; type: typeof EasingType.BOUNCE; curve: BounceCurveKey; params: BounceParams; output: LinearEasingOutput; } export interface WigglePreset { id: string; type: typeof EasingType.WIGGLE; curve: WiggleCurveKey; params: WiggleParams; output: LinearEasingOutput; } export interface OvershootPreset { id: string; type: typeof EasingType.OVERSHOOT; style: OvershootStyleKey; curve: OvershootCurveKey; params: OvershootParams; output: LinearEasingOutput; } export type Preset = BezierPreset | SpringPreset | BouncePreset | WigglePreset | OvershootPreset; export interface PresetsData { version: string; presets: Preset[]; }