import type { Node } from 'cc'; import type { IPopAnimSession, PopCenterPreset, PopMaskPreset } from './PopAnimTypes'; /** 弹窗入场/退场动效服务(由 UIManager.popAnim 持有实例) */ export interface IPopAnimService { resolveMaskNode(root: Node): Node | null; resolveCenterNode(root: Node): Node | null; snapCenterOpen(root: Node): void; prepareOpen(root: Node, mask: PopMaskPreset, center: PopCenterPreset): void; openMask(root: Node, preset: PopMaskPreset): boolean; closeMask(root: Node, preset: PopMaskPreset, done?: () => void): void; openCenter(center: Node, preset: PopCenterPreset, done?: () => void): boolean; closeCenter(center: Node, preset: PopCenterPreset, done?: () => void): boolean; playOpen(root: Node, mask: PopMaskPreset, center: PopCenterPreset, done?: () => void): IPopAnimSession; playClose(root: Node, session: IPopAnimSession, tweenType: 1 | 2 | 3, done: () => void): void; }