import { ContainerRef } from '@cleartrip/ct-design-container'; import type { IAnimatedStyleClass } from './IAnimatedStyleClass'; import { AnimatedStyleWithController, IAnimatedRef, IAnimationOptions } from '../type'; export interface IWebAnimatedStyle { getWebAnimatedStyle(): IAnimationOptions | null; setWebElementRef(element: React.MutableRefObject | null): void; getWebClassNamesRef(): React.RefObject; setWebClassNamesRef(ref: React.RefObject): void; getWebIsSequence(): boolean; getWebAnimatedSequenceStyles(): AnimatedStyleWithController[]; getWebSpringRef(): React.RefObject | null; getWebIsSpring(): boolean; } export interface INativeAnimatedStyle { getNativeAnimatedStyle(): IAnimationOptions | null; getNativeAnimatedSequenceStyles(): AnimatedStyleWithController[]; getNativeElementRef(): React.RefObject | null; setNativeElementRef(elementRef: React.RefObject | null): void; getNativeIsSequence(): boolean; } export type AnimatedStyle = IWebAnimatedStyle & INativeAnimatedStyle & IAnimatedStyleClass;