import { AnimationController, AnimationDataTypeArray, AnimationTaskMapArray, ElementProp, TransitionAnimationType, TransitionResolver, TransitionTask } from "../../elements/transition/type"; import { GameState } from "../../../player/gameState"; export declare abstract class Transition { static AnimationType: typeof TransitionAnimationType; /** * Create a transition task, this method shouldn't have any side effects */ abstract createTask(gameState: GameState): TransitionTask; abstract copy(): any; /**@package */ requestAnimations(tasks: AnimationTaskMapArray): AnimationController; /**@package */ toFinalStyle(task: TransitionTask): ElementProp[]; /** * Mark the resolver as the current state * * any resolver that is marked as current will be applied to the current state * and be disposed of when the transition is completed */ asPrev(resolver: (...args: AnimationDataTypeArray) => ElementProp): TransitionResolver; /** * Mark the resolver as the target state * * any resolver that is marked as a target will be kept as the target state after the transition */ asTarget(resolver: (...args: AnimationDataTypeArray) => ElementProp): TransitionResolver; /**@package */ private requestMotion; }