/**
 * A camera-movement signal for the parts of the SDK that are not components.
 *
 * Reported once a movement has come to rest — the same signal the imperative renderer published as
 * `navigation:change` — and the kiosk setup screen listens to know the operator has framed a new home
 * view, whether they dragged the plan or pressed the zoom buttons. Both views produce it: `MapCamera`
 * on the plan, `useKioskCameraEvents` on the MapLibre map. Deliberately minimal: no payload, because
 * every consumer reads what it needs (`mapCamera().state()`) at the moment it cares — which is why
 * the movement has to be over by the time this fires.
 * @param listener - Called after each camera movement settles, while subscribed.
 * @returns An unsubscribe function.
 */
export declare function onCameraMoved(listener: () => void): () => void;
/**
 * Reports that the camera has finished moving. Called by whichever view is mounted — the plan's
 * camera or the map's; nothing else should.
 */
export declare function notifyCameraMoved(): void;
//# sourceMappingURL=camera-events.d.ts.map