import React from 'react'; import { ContainerRef } from '@cleartrip/ct-design-container'; import { AnimatedStyleWithController, IAnimatedRef, IAnimationOptions } from '../type'; /** * Common interface for AnimatedStyle classes across platforms */ export interface IAnimatedStyleClass { // Core methods - platform agnostic getAnimatedStyle(): IAnimationOptions | null; getAnimatedSequenceStyles(): AnimatedStyleWithController[]; getIsSequence(): boolean; // Native-specific methods getNativeAnimatedStyle(): IAnimationOptions | null; getNativeAnimatedSequenceStyles(): AnimatedStyleWithController[]; getNativeElementRef(): React.RefObject | null; setNativeElementRef(ref: React.RefObject | null): void; getNativeIsSequence(): boolean; // Web-specific methods getWebAnimatedStyle(): IAnimationOptions | null; getWebAnimatedSequenceStyles(): AnimatedStyleWithController[]; getWebIsSequence(): boolean; getWebIsSpring(): boolean; getWebClassNamesRef(): React.RefObject | null; setWebClassNamesRef(ref: React.RefObject): void; setWebElementRef(element: React.MutableRefObject | null): void; getWebSpringRef(): React.RefObject | null; }