import { MapRenderer } from 'mudlet-map-renderer'; import type { MudletMap } from '../../mapIO'; import { EditorMapReader } from '../reader/EditorMapReader'; import { DiffHighlightOverlay } from './DiffHighlightOverlay'; import type { MapDiff } from './mapDiff'; export interface DiffPane { renderer: MapRenderer; reader: EditorMapReader; overlay: DiffHighlightOverlay; setView(areaId: number, z: number): void; /** Show or hide the diff highlight tints. */ setHighlightsEnabled(enabled: boolean): void; /** Emphasize a single change by its key (or clear with null). */ setHover(key: string | null): void; /** Pan to a map-space room/point (raw Mudlet coords; Y is flipped internally). */ panToRoom(rawX: number, rawY: number): void; destroy(): void; } /** A bare, read-only renderer pane for one side of a map diff. */ export declare function createDiffPane(map: MudletMap, container: HTMLDivElement, diff: MapDiff, side: 'old' | 'new'): DiffPane; /** Copy zoom + center from one pane to another (programmatic; emits no events). */ export declare function alignCamera(from: DiffPane, to: DiffPane): void; /** * Mirror pan/zoom between two panes. Returns an unsubscribe function. * Reentrancy is guarded so a mirrored move does not echo back. */ export declare function linkCameras(a: DiffPane, b: DiffPane): () => void;