/**
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
 */
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy } from '@angular/core';
import { Selection } from 'd3-selection';
import { ZoomBehavior } from 'd3-zoom';
import { NzSafeAny } from 'ng-zorro-antd/core/types';
import { NzZoomTransform } from './interface';
export declare class NzGraphZoomDirective implements OnDestroy, AfterViewInit {
    private element;
    private cdr;
    nzZoom?: number;
    nzMinZoom: number;
    nzMaxZoom: number;
    readonly nzTransformEvent: EventEmitter<NzZoomTransform>;
    readonly nzZoomChange: EventEmitter<number>;
    svgSelection: Selection<NzSafeAny, NzSafeAny, NzSafeAny, NzSafeAny>;
    zoomBehavior: ZoomBehavior<NzSafeAny, NzSafeAny>;
    svgElement: SVGSVGElement;
    gZoomElement: SVGGElement;
    private destroy$;
    constructor(element: ElementRef, cdr: ChangeDetectorRef);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    bind(): void;
    unbind(): void;
    fitCenter(duration?: number): void;
    focus(id: NzSafeAny, duration?: number): void;
    /**
     * Handle zoom event
     * @param transform
     */
    private zoomed;
    /**
     * Scale with zoom and duration
     * @param duration
     * @param scale
     * @private
     */
    private reScale;
    private getRelativePositionInfo;
}
