import { type DfDragDrop } from '../../directives/drag-drop'; import { type DfPoint } from '../../ng-draw-flow.interfaces'; import * as i0 from "@angular/core"; export type DfPanZoomRenderMode = 'async' | 'sync'; export interface DfPanZoomViewportPanGesture { readonly type: 'pan'; readonly deltaX: number; readonly deltaY: number; } export interface DfPanZoomViewportZoomGesture { readonly type: 'zoom'; readonly point: DfPoint; readonly deltaScale: number; } export type DfPanZoomViewportGesture = DfPanZoomViewportPanGesture | DfPanZoomViewportZoomGesture; export declare class PanZoomControllerService { private readonly destroyRef; private readonly panZoomService; private readonly panZoomOptions; private readonly draggingSignal; private readonly transitionedSignal; private readonly viewportSizeSignal; private readonly viewportZeroPointSignal; private readonly layoutOffsetSignal; private readonly renderRequestsSubject; private readonly scaleChangesSubject; private readonly pendingGestures; private emittedZoom; private gestureFlushSubscription; readonly dragging: import("@angular/core").Signal; readonly transitioned: import("@angular/core").Signal; readonly viewportSize: import("@angular/core").Signal<{ width: number; height: number; }>; readonly viewportZeroPoint: import("@angular/core").Signal; readonly layoutOffset: import("@angular/core").Signal; readonly renderRequests$: import("rxjs").Observable; readonly scaleChanges$: import("rxjs").Observable; readonly cursor: import("@angular/core").Signal<"grabbing" | "initial">; readonly panTransform: import("@angular/core").Signal; readonly transitionDuration: import("@angular/core").Signal; constructor(); resetPanzoom(): void; setPosition(position?: Partial & { zoom?: number; }): void; setScale(scale: number): void; zoomIn(): void; zoomOut(): void; handlePan({ distance, stage }: DfDragDrop): void; syncContainerOffsets(rootSize: { width: number; height: number; }): void; queueGesture(gesture: DfPanZoomViewportGesture): void; flushGestures(): void; private scheduleGestureFlush; private setZoom; private emitScale; private requestRender; private renderNow; private clampCamera; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }