import { DragObserveProps, DragState } from './use-drag-observe.js'; /** * When a drag starts, invokes `callback` with an async generator that yields * {@link DragState} values until the drag ends or is cancelled. Built on * {@link useDragObserve}. * * The callback also receives the `PointerEvent` that triggered `'start'` — * i.e. the `pointermove` whose cumulative distance first exceeded * `minDragDistance`. Callers that need the initial `clientX` / `clientY` * synchronously (before any transaction runs or any Lit re-render has flushed) * can use this event without awaiting the generator. * * The generator pairs naturally with an ECS transaction that accepts an * `AsyncArgsProvider`: feed each yielded `DragState` into a transient envelope * by returning the desired transaction args from the generator, and the ECS * (and any attached sync transport) replicates each intermediate state to * peers. The transaction commits when the drag ends and is cancelled when the * drag is cancelled. */ export declare function useDragGenerator(props: DragObserveProps, dependencies: unknown[], callback: (drag: AsyncGenerator, startEvent: PointerEvent) => void): void;