import { LatLngBounds, type LatLng, type LatLngBoundsLike } from "../geo.js"; import { InteractiveLayer } from "../interactive-layer.js"; import { type LayerOptions } from "../layer.js"; import type { OverlayContent, PopupOptions } from "./div-overlay.js"; export interface ResolvedMediaOverlayOptions extends LayerOptions { pane: string; attribution: string; opacity: number; className: string; interactive: boolean; zIndex: number; rotation: number; } export interface MediaOverlayEventMap { click: { originalEvent: MouseEvent | PointerEvent; latlng: LatLng; }; } /** Internal shared lifecycle for image, video and SVG overlays. */ export declare abstract class MediaOverlay extends InteractiveLayer { overlayBounds: LatLngBounds; readonly _unsub: Array<() => void>; private _interactiveUnsub; protected constructor(value: LatLngBoundsLike, options: TOptions); protected abstract mediaElement(): TElement | null; protected abstract clearMediaElement(): void; protected attachMediaElement(element: TElement, baseClass: string): void; protected resetMediaElement(): void; onRemove(): void; bindPopup(content: OverlayContent, options?: PopupOptions): this; setBounds(value: LatLngBoundsLike): this; getBounds(): LatLngBounds; setOpacity(opacity: number): this; /** Clockwise degrees around the centre of the bounds. */ getRotation(): number; setRotation(rotation: number): this; setZIndex(zIndex: number): this; bringToFront(): this; bringToBack(): this; getElement(): TElement | null; render(): void; protected syncInteractive(): void; private moveToEdge; } //# sourceMappingURL=media-overlay.d.ts.map