import { Vec2 } from '@turbox3d/shared';
import { CoordinateController } from './coordinate';
import { HitResult } from './index';
import { NativeEventSet } from './type';
import { GesturesExtra, Extra } from './listener/type';
export declare class SceneEvent<DisplayObject = any> {
    static create<DisplayObject = any>(event: NativeEventSet, getCoordinateCtrl: () => CoordinateController, hitTargetOriginalByPoint: (point: Vec2) => HitResult<DisplayObject>, extra?: GesturesExtra | Extra): SceneEvent<DisplayObject>;
    event: NativeEventSet;
    getCoordinateCtrl: () => CoordinateController;
    hitTargetOriginalByPoint: (point: Vec2) => HitResult<DisplayObject>;
    extra?: GesturesExtra | Extra;
    constructor(event: NativeEventSet, getCoordinateCtrl: () => CoordinateController, hitTargetOriginalByPoint: (point: Vec2) => HitResult<DisplayObject>, extra?: GesturesExtra | Extra);
    /**
     * 屏幕坐标
     */
    get screenPosition(): {
        x: number;
        y: number;
    };
    /**
     * 画布坐标
     */
    get canvasPosition(): Vec2 | import("@turbox3d/shared").Vec3;
    /**
     * 场景世界坐标
     */
    getScenePosition(z?: number): Vec2 | import("@turbox3d/shared").Vec3;
}
