import type { ExecutionDump, ExecutionTask, GroupedActionDump, InsightDump, Rect } from '@midscene/core';
import './player.less';
/**
 * Copyright (c) 2024-present Bytedance, Inc. and its affiliates.
 * SPDX-License-Identifier: MIT
 */
export interface CameraState {
    left: number;
    top: number;
    width: number;
    pointerLeft: number;
    pointerTop: number;
}
export type TargetCameraState = Omit<CameraState, 'pointerLeft' | 'pointerTop'> & Partial<Pick<CameraState, 'pointerLeft' | 'pointerTop'>>;
export interface AnimationScript {
    type: 'img' | 'insight' | 'clear-insight' | 'pointer' | 'spinning-pointer' | 'sleep';
    img?: string;
    camera?: TargetCameraState;
    insightDump?: InsightDump;
    duration: number;
    insightCameraDuration?: number;
    title?: string;
    subTitle?: string;
}
export declare const cameraStateForRect: (rect: Rect, imageWidth: number, imageHeight: number) => TargetCameraState;
export declare const mergeTwoCameraState: (cameraState1: TargetCameraState, cameraState2: TargetCameraState) => TargetCameraState;
export interface ReplayScriptsInfo {
    scripts: AnimationScript[];
    width: number;
    height: number;
    sdkVersion?: string;
    modelName?: string;
}
export declare const allScriptsFromDump: (dump: GroupedActionDump) => ReplayScriptsInfo | null;
export declare const generateAnimationScripts: (execution: ExecutionDump | null, task: ExecutionTask | number, imageWidth: number, imageHeight: number) => AnimationScript[] | null;
