import { type Signal } from '@angular/core'; import { type DfPoint } from '../../ng-draw-flow.interfaces'; import { type DfPanZoomBounds } from './pan-zoom.bounds-tracker'; import { type DfPanzoomModel } from './pan-zoom.interfaces'; import { type DfPanSizeDimensions } from './pan-zoom.options'; import * as i0 from "@angular/core"; export interface DfPanZoomUsableRect { readonly minX: number; readonly minY: number; readonly maxX: number; readonly maxY: number; } export interface DfPanZoomWorkspaceRect extends DfPanZoomUsableRect { readonly width: number; readonly height: number; } export declare class PanZoomService { private readonly cameraSignal; private readonly disabledSignal; private readonly trackedNodesCountSignal; private readonly usableRectSignal; private readonly boundsTracker; private readonly nodeBounds; private readonly legacyModelProxy; readonly camera: Signal; readonly disabled: Signal; readonly usableRect: Signal; readonly workspaceRect: Signal; readonly panSize: Signal; readonly workspaceOrigin: Signal; readonly workspaceCenter: Signal; /** @deprecated Backward-compatible mutable camera access */ get panzoomModel(): DfPanzoomModel; set panzoomModel(model: DfPanzoomModel); /** @deprecated Backward-compatible mutable flag access */ get panzoomDisabled(): boolean; set panzoomDisabled(value: boolean); snapshot(): DfPanzoomModel; setCamera(camera: DfPanzoomModel): void; patchCamera(camera: Partial): void; setDisabled(value: boolean): void; isDisabled(): boolean; upsertNodeBounds(id: string, bounds: DfPanZoomBounds): void; removeNodeBounds(id: string): void; getBoundsForNodeIds(ids: readonly string[]): DfPanZoomUsableRect | null; private syncUsableRect; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }