import { Point, Rectangle } from './layout';
import { GraphConfig } from './GraphConfig';
export declare class Viewport {
    private static readonly BASE_SIZE;
    readonly config: GraphConfig;
    center: Point;
    zoomLevel: number;
    ratio: number;
    viewBox?: string;
    constructor(config: GraphConfig, zoomLevel?: number, ratio?: number, center?: Point);
    zoomedPixelToGrid(point: Point): Point;
    private computeViewBox;
    clone(): Viewport;
    setRatio(ratio: number): Viewport;
    setCenter(center: Point): Viewport;
    private getBoundedZoomLevel;
    zoomToPoint(target: Point, direction: number): Viewport;
    setZoom(zoomLevel: number): Viewport;
    fitToRect(rect: Rectangle): Viewport;
    toJSON(): any;
    static fromJSON(config: GraphConfig, data: any): Viewport;
}
