import type { S2Map, ViewMessage } from 's2/index.js'; /** Handle the sync move event */ export type SyncMoveListener = (event: CustomEvent) => void; /** Containers for the maps and their listeners */ export interface MapContainer { id: string; map: S2Map; onMove: SyncMoveListener; } /** * Sync the camera between multiple maps * ex. * ```ts * import { syncMove } from 's2maps-gpu/plugins'; * // create multiple maps * const mapA = new S2Map({ ... }); * const mapB = new S2Map({ ... }); * const mapC = new S2Map({ ... }); * // sync the maps * await syncMove(mapA, mapB, mapC); * ``` * @param maps - The maps to sync with eachother */ export declare function syncMove(...maps: S2Map[]): Promise;