import { Component } from "../../hierarchy_object/Component";
import type { ComponentConstructor } from "../../hierarchy_object/ComponentConstructor";
/**
 * controller for 2D editor free camera
 *
 * it requires a camera component to control
 *
 * camera type is must be set to CameraType.Orthographic
 *
 *
 * disallow multiple component
 *
 * require components: `Camera`
 */
export declare class EditorCameraController extends Component {
    readonly disallowMultipleComponent: boolean;
    readonly requiredComponents: ComponentConstructor[];
    private _camera;
    private _mouseMoveButtonDown;
    private _mouseMoveButton;
    private readonly _lastOffset;
    private _minViewSize;
    private _maxViewSize;
    private _defaultViewSize;
    private _currentViewSize;
    private readonly _defaultPosition;
    awake(): void;
    onEnable(): void;
    onDisable(): void;
    private readonly onKeyDown;
    private readonly onWheel;
    private readonly onPointerDown;
    private readonly onPointerUp;
    private readonly onPointerMove;
    private readonly onPointerLeave;
    private resize;
    /**
     * min view size (default: 1)
     */
    get minViewSize(): number;
    /**
     * min view size (default: 1)
     */
    set minViewSize(value: number);
    /**
     * max view size (default: 10)
     */
    get maxViewSize(): number;
    /**
     * max view size (default: 10)
     */
    set maxViewSize(value: number);
    /**
     * mouse button number to move camera e.g. 1 for left mouse button (default: 1)
     */
    get mouseMoveButton(): number;
    /**
     * mouse button number to move camera e.g. 1 for left mouse button (default: 1)
     */
    set mouseMoveButton(value: number);
}
