/** @jsxImportSource preact */ import { type ComponentChildren, type VNode, type JSX } from 'preact'; import type { Deck, Viewport, WidgetPlacement, WidgetProps } from '@deck.gl/core'; import { Widget } from '@deck.gl/core'; export type HtmlOverlayWidgetProps = WidgetProps & { /** View id to attach the overlay to. Defaults to the containing view. */ viewId?: string | null; /** Margin beyond the viewport before hiding overlay items. */ overflowMargin?: number; /** z-index for the overlay container. */ zIndex?: number; /** Items to render; defaults to the supplied children. */ items?: ComponentChildren; /** Create an overlay root for custom rendering. */ onCreateOverlay?: (container: HTMLElement) => unknown; /** Render into a previously created overlay root. */ onRenderOverlay?: (overlayRoot: unknown, element: JSX.Element | null, container: HTMLElement) => void; }; export declare class HtmlOverlayWidget extends Widget { static defaultProps: { id: string; viewId: any; _container: any; overflowMargin: number; zIndex: number; style: {}; className: string; }; placement: WidgetPlacement; className: string; protected viewport: Viewport | null; protected overlayRoot: unknown; protected overlayRootInitialized: boolean; constructor(props?: PropsT); setProps(props: Partial): void; onAdd({ deck, viewId }: { deck: Deck; viewId: string | null; }): void; onRemove(): void; onViewportChange(viewport: Viewport): void; protected getViewport(): Viewport | null; protected getZoom(): number; protected scaleWithZoom(n: number): number; protected breakpointWithZoom(threshold: number, a: T, b: T): T; protected getCoords(viewport: Viewport, coordinates: number[]): [number, number]; protected inView(viewport: Viewport, [x, y]: number[]): boolean; protected getOverlayItems(viewport: Viewport): VNode[]; protected projectItems(items: VNode[], viewport: Viewport): VNode[]; onRenderHTML(rootElement: HTMLElement): void; } //# sourceMappingURL=html-overlay-widget.d.ts.map