import { type Observable } from 'rxjs'; import { type DfDragDrop } from './drag-drop.interface'; import * as i0 from "@angular/core"; /** * Centralised RxJS-based drag-and-drop stream factory. * Creates **one** `pointermove / pointerup` listener on `document` * and produces per-element drag streams filtered by `pointerId`. */ export declare class DragDropService { private readonly document; /** Cache for element-scoped `pointerdown` observables (lazy–created). */ private readonly pointerDownMap; /** Cache for ready-made drag-stream observables (so we never duplicate work). */ private readonly dragDropStreams; /** Shared `pointermove` stream on the whole document (ref-counted). */ private readonly pointerMove$; /** Shared `pointerup` stream on the whole document (ref-counted). */ private readonly pointerUp$; /** * Returns (and caches) a drag-and-drop observable for the provided element. * The observable emits: * • `DfDragDropStage.Move` every animation frame while the pointer is down; * • a final `DfDragDropStage.End` when the pointer is released. */ streamFor(el: HTMLElement): Observable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }