import type { DockPosition, GenieRect } from './types'; export interface GenieFinishTools { drawFinalFrame: (rect: GenieRect) => void; } export interface GeniePlayOptions { beforeFinish?: (tools: GenieFinishTools) => Promise | void; } export interface GenieAnimationController { cancel: () => void; play: (options?: GeniePlayOptions) => Promise; } export declare function createGenieAnimation({ direction, originalRect, ownerDocument, position, sourceCanvas, targetRect, }: { direction: 'minimize' | 'restore'; originalRect: GenieRect; ownerDocument: Document; position: DockPosition; sourceCanvas: HTMLCanvasElement; targetRect: GenieRect; }): GenieAnimationController | null;