/** based on framer-motion@4.1.17, Copyright (c) 2018 Framer B.V. */ import type { VariantLabels } from '../../motion/types'; import type { TargetAndTransition } from '../../types'; import type { VisualElement } from '../types'; import type { AnimationOptions } from './animation'; import { AnimationType } from './types'; export interface AnimationState { animateChanges: (options?: AnimationOptions, type?: AnimationType) => Promise; setActive: (type: AnimationType, isActive: boolean, options?: AnimationOptions) => Promise; setAnimateFunction: (fn: any) => void; isAnimated(key: string): boolean; getState: () => { [key: string]: AnimationTypeState; }; } export type AnimationList = string[] | TargetAndTransition[]; export interface AnimationTypeState { isActive: boolean; protectedKeys: { [key: string]: true; }; needsAnimating: { [key: string]: boolean; }; prevResolvedValues: { [key: string]: any; }; prevProp?: VariantLabels | TargetAndTransition; } declare var variantPriorityOrder: AnimationType[]; declare function createAnimationState(visualElement: VisualElement): { isAnimated: (key: string | number) => boolean; animateChanges: (options: any, changedActiveType: any) => Promise | Promise; setActive: (type: AnimationType, isActive: boolean, options: any) => Promise | Promise; setAnimateFunction: (makeAnimator: (arg0: VisualElement) => (animations: any[]) => Promise) => void; getState: () => any; }; declare function variantsHaveChanged(prev: any, next: any): boolean; export { createAnimationState, variantPriorityOrder, variantsHaveChanged }; //# sourceMappingURL=animation-state.d.ts.map