import { InProgressAnimations, FlipCallbacks, StaggerConfig, HandleEnterUpdateDelete, OnFlipperComplete, OnFlipperStart, DecisionData } from '../types'; import { FlippedElementPositionsBeforeUpdate } from './getFlippedElementPositions/getFlippedElementPositionsBeforeUpdate/types'; import { FlippedElementPositionsAfterUpdate } from './getFlippedElementPositions/getFlippedElementPositionsAfterUpdate/types'; import { CachedOrderedFlipIds } from './getFlippedElementPositions/getFlippedElementPositionsBeforeUpdate/types'; import { SpringOption } from '../springSettings/types'; export type FlippedIds = string[]; export type GetElement = (id: string) => HTMLElement; export interface BaseFlipArgs { flipCallbacks: FlipCallbacks; getElement: GetElement; flippedElementPositionsBeforeUpdate: FlippedElementPositionsBeforeUpdate; flippedElementPositionsAfterUpdate: FlippedElementPositionsAfterUpdate; inProgressAnimations: InProgressAnimations; decisionData?: DecisionData; } export interface OnFlipKeyUpdateArgs { cachedOrderedFlipIds: CachedOrderedFlipIds; inProgressAnimations: InProgressAnimations; flippedElementPositionsBeforeUpdate: FlippedElementPositionsBeforeUpdate; flipCallbacks: FlipCallbacks; containerEl: HTMLElement; applyTransformOrigin?: boolean; spring?: SpringOption; debug?: boolean; portalKey?: string; staggerConfig?: StaggerConfig; handleEnterUpdateDelete?: HandleEnterUpdateDelete; onComplete?: OnFlipperComplete; onStart?: OnFlipperStart; decisionData: DecisionData; }