import { EventedComponent } from "../../components/canvas/EventedComponent/EventedComponent";
import { TGraphLayerContext } from "../../components/canvas/layers/graphLayer/GraphLayer";
import { Component } from "../../lib";
import { TComponentProps, TComponentState } from "../../lib/Component";
import { ComponentDescriptor } from "../../lib/CoreComponent";
export type TCameraProps = TComponentProps & {
    root?: HTMLDivElement;
    children: ComponentDescriptor[];
};
export declare class Camera extends EventedComponent<TCameraProps, TComponentState, TGraphLayerContext> {
    private camera;
    private ownerDocument;
    private lastDragEvent?;
    constructor(props: TCameraProps, parent: Component);
    protected handleClick: () => void;
    protected setRoot(): void;
    protected addWheelListener(root?: HTMLDivElement): void;
    protected propsChanged(nextProps: TCameraProps): void;
    protected unmount(): void;
    private handleMouseDownEvent;
    private onDragStart;
    private onDragUpdate;
    private onDragEnd;
    private handleWheelEvent;
    protected moveWithEdges(deltaX: number, deltaY: number): void;
    render(): void;
    updateChildren(): ComponentDescriptor[];
}
