import { DynamicEasingNames } from "./createDynamicEasing"; import Keyframe from "./Keyframe"; export declare type IAnimatedProperties = { [P in keyof T]: T[P] | IPercentageKeyframes; }; export interface IPercentageKeyframes { [key: string]: TValue | IKeyframeControls; from: TValue | IKeyframeControls; to: TValue | IKeyframeControls; } export interface IKeyframeControls { value: TValue; controlsIn?: TValue[]; controlsOut?: TValue[]; easeIn?: DynamicEasingNames; easeOut?: DynamicEasingNames; } export default class KeyframesGenerator { private transformValue; setTransformValue(transformValue: (value: any) => any): void; isComplexKeyframe(value: any): any; isPercentageKeyframe(value: any): any; isObject(value: any): boolean; sortPercentages: (keyA: string, keyB: string) => 0 | 1 | -1; getDecimalFromPercentage(percentage: string): number; getEaseIn(currentValue: IKeyframeControls): "linear" | "quad" | "cubic" | "quart" | "back" | "quint" | "expo" | "circ" | "elastic"; getEaseOut(nextValue: IKeyframeControls): "linear" | "quad" | "cubic" | "quart" | "back" | "quint" | "expo" | "circ" | "elastic"; getControlsIn(currentValue: IKeyframeControls): any[]; getControlsOut(nextValue: IKeyframeControls): any[]; getFrom(currentValue: IKeyframeControls): any; getTo(nextValue: IKeyframeControls): any; wrapValue(value: T): IKeyframeControls; normalizeValue(value: T | IKeyframeControls): IKeyframeControls; normalizeKeyframeValue(value: T | IKeyframeControls | IPercentageKeyframes): IPercentageKeyframes; generate(animatedProperties: IAnimatedProperties): Keyframe[]; }