import type { Composition, CameraOptionsEx, spec, VFXItem } from '@galacean/effects';
import { Transform } from '@galacean/effects';
import type { CameraGestureHandler, CameraKeyEvent } from './protocol';
import { CameraGestureType } from './protocol';
export declare class CameraGestureHandlerImp implements CameraGestureHandler {
    private composition;
    private cameraTransform;
    private cameraCoordiante;
    private startParams;
    constructor(composition: Composition);
    updateComposition(composition: Composition): void;
    getItem(): VFXItem | undefined;
    getCurrentTarget(): string;
    getCurrentType(): CameraGestureType;
    onKeyEvent(event: CameraKeyEvent): CameraOptionsEx;
    onXYMoveBegin(x: number, y: number, width: number, height: number, cameraID: string): CameraOptionsEx;
    onXYMoving(x: number, y: number, speed?: number): CameraOptionsEx;
    onXYMoveEnd(): void;
    onZMoveBegin(x: number, y: number, width: number, height: number, cameraID: string): CameraOptionsEx;
    onZMoving(x: number, y: number, speed?: number): CameraOptionsEx;
    onZMoveEnd(): void;
    onRotateBegin(x: number, y: number, width: number, height: number, cameraID: string): CameraOptionsEx;
    onRotating(x: number, y: number, speed?: number): CameraOptionsEx;
    onRotateEnd(): void;
    onRotatePointBegin(x: number, y: number, width: number, height: number, point: spec.vec3, cameraID: string): CameraOptionsEx;
    onRotatingPoint(x: number, y: number, speed?: number): CameraOptionsEx;
    onRotatePointEnd(): void;
    moveTo(cameraID: string, position: spec.vec3): void;
    rotateTo(cameraID: string, quat: spec.vec4): void;
    onFocusPoint(cameraID: string, point: spec.vec3, distance?: number): void;
    getCameraTransform(): Transform;
    private startGesture;
    private moveGesture;
    private setTransform;
    private setPosition;
    private setQuaternion;
    private endGesture;
    private updateCameraTransform;
}
export * from './protocol';
