import { OnChanges, SimpleChanges, ChangeDetectorRef, AfterViewInit, OnDestroy } from '@angular/core';
import { SmzSVGWrapper } from './models/smz-svg-wrapper';
import { SmzSvgState, SmzSvgPin, SmzSvgTooltipData, SmzSvgBaseFeature } from './models/smz-svg';
import '@svgdotjs/svg.panzoom.js';
import { OverlayPanel } from '../prime/overlaypanel/overlaypanel';
import { Element } from '@svgdotjs/svg.js';
import { SmzSvgWorldCoordinates } from './models/world-coordinates';
import * as i0 from "@angular/core";
export declare class SmzSvgComponent implements OnChanges, AfterViewInit, OnDestroy {
    cdf: ChangeDetectorRef;
    overlayPanel: OverlayPanel;
    state: SmzSvgState;
    pins: SmzSvgPin[];
    draw: SmzSVGWrapper;
    tooltipContent: string;
    isPanning: boolean;
    hasViewInit: boolean;
    worldCoordinates: SmzSvgWorldCoordinates;
    constructor(cdf: ChangeDetectorRef);
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    initialize(): void;
    private setupContainer;
    reset(): void;
    updateScopes(scopes: string[]): void;
    private setupDispatchListeners;
    zoomToId(elementId: string, factor: number): void;
    zoomToPosition(x: number, y: number, factor: number): void;
    private normalizeFactor;
    private convertFactorToZoom;
    private applyZoomFactor;
    updateChildrenIds(feature: SmzSvgBaseFeature): void;
    recursive(ids: string[], element: Element): void;
    private setupRoot;
    private setupFeature;
    private getRootContainer;
    setupPins(): void;
    hookEvents(): void;
    addToolTip(element: SmzSVGWrapper, tooltip: SmzSvgTooltipData): void;
    buildGrid(): void;
    show(event: MouseEvent, content: string): void;
    hide(): void;
    adjustPinScale1(zoom: number): void;
    adjustPinScale2(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SmzSvgComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SmzSvgComponent, "smz-svg", never, { "state": { "alias": "state"; "required": false; }; }, {}, never, never, false, never>;
}
