import { CSSResult, LitElement, PropertyValues, SVGTemplateResult, TemplateResult } from "lit";
import { AssociationAnchors } from "../lib/AssociationAnchors.js";
import { SelectionManager } from "../lib/SelectionManager.js";
import { WorkspaceEdges } from "../lib/WorkspaceEdges.js";
import { WorkspaceGestures } from "../lib/WorkspaceGestures.js";
import { WorkspaceSizing } from "../lib/WorkspaceSizing.js";
export declare const canvasRef: unique symbol;
export declare const svgRef: unique symbol;
export declare const attributeTypeEditHandler: unique symbol;
export declare const attributeTypeDropdownClosedHandler: unique symbol;
export declare const attributeTypeSelectHandler: unique symbol;
export declare const geometryChangeHandler: unique symbol;
export declare const widthValue: unique symbol;
export declare const heightValue: unique symbol;
export declare const autoResizeValue: unique symbol;
export declare const zoomValue: unique symbol;
export declare const notifyZoom: unique symbol;
export declare const zoomTimeout: unique symbol;
/**
 * @fires positionchange
 */
export default class VizWorkspaceElement extends LitElement {
    static get styles(): CSSResult[];
    [zoomValue]?: number;
    /**
     * The zoom level of the current visualization
     * @attribute
     */
    get zoom(): number;
    set zoom(value: number);
    /**
     * Gets or sets the number of pixels that an element's content is scrolled horizontally.
     * Unlike regular HTML elements, this can be a negative value as it is possible to
     * scroll outside the working area.
     */
    get scrollLeft(): number;
    /**
     * @param value The x-axis position value
     */
    set scrollLeft(value: number);
    /**
     * Gets or sets the number of pixels that an element's content is scrolled vertically.
     * Unlike regular HTML elements, this can be a negative value as it is possible to
     * scroll outside the working area.
     */
    get scrollTop(): number;
    /**
     * @param value The y-axis position value
     */
    set scrollTop(value: number);
    [canvasRef]?: HTMLDivElement;
    get canvas(): HTMLDivElement | null;
    [svgRef]?: SVGElement;
    get associationSvg(): SVGElement;
    [widthValue]?: number;
    /**
     * The width of the canvas element, in pixels
     */
    get width(): number;
    set width(value: number);
    [heightValue]?: number;
    /**
     * The height of the canvas element, in pixels
     */
    get height(): number;
    set height(value: number);
    [autoResizeValue]: boolean;
    /**
     * When set it instruct the visualization workspace to grow over the currently set `width` and `height`
     * when a new added item is placed outside the bounds of the workspace.
     */
    get autoResize(): boolean;
    set autoResize(value: boolean);
    /**
     * Enables some limited debugging information.
     */
    debug?: boolean;
    /**
     * The current scale of the visualization
     */
    scale: number;
    [zoomTimeout]?: number;
    gestures: WorkspaceGestures;
    selection: SelectionManager;
    edges: WorkspaceEdges;
    anchors: AssociationAnchors;
    sizing: WorkspaceSizing;
    constructor();
    connectedCallback(): void;
    disconnectedCallback(): void;
    protected firstUpdated(cp: PropertyValues<this>): void;
    /**
     * Clears the state of the workspace.
     */
    clear(): void;
    /**
     * Centers the workspace.
     */
    center(): void;
    [notifyZoom](): void;
    [geometryChangeHandler](e: Event): Promise<void>;
    scrollBy(options: ScrollToOptions): void;
    scrollBy(x: number, y: number): void;
    scrollTo(options: ScrollToOptions): void;
    scrollTo(x: number, y: number): void;
    /**
     * Scrolls the view if the position defined by `x` and `y` arguments requires
     * the view to be moved.
     *
     * @param x The x coordinate of the point
     * @param y The y coordinate of the point
     * @returns true if the canvas was moved
     */
    scrollIfNeeded(x: number, y: number): boolean;
    render(): TemplateResult;
    /**
     * @return {SVGTemplateResult} The template for the associations
     */
    renderLinesTemplate(): SVGTemplateResult;
}
//# sourceMappingURL=VizWorkspaceElement.d.ts.map