/** @jsxImportSource preact */ import { Widget } from '@deck.gl/core'; import type { WidgetContainer, WidgetPanel } from "./widget-containers.js"; import type { WidgetPlacement, WidgetProps } from '@deck.gl/core'; /** Trigger and panel configuration for a modal-style widget. */ export type ModalWidgetProps = WidgetProps & { /** Trigger icon alias for legacy compatibility. */ icon?: string; /** The content container to show when the modal is open. */ container?: WidgetContainer; /** Optional shorthand panel. When supplied, shown directly in the modal body. */ panel?: WidgetPanel; /** Button and panel placement anchor. */ placement?: WidgetPlacement; /** Optional modal title shown in the header. */ title?: string; /** Optional trigger button label visible in the UI. */ triggerLabel?: string; /** Optional trigger icon. Defaults to a menu-like glyph. */ triggerIcon?: string; /** * Hides the trigger. Useful when trigger is implemented externally. */ hideTrigger?: boolean; /** * Whether to render the built-in trigger button. * If false, no built-in trigger is rendered. */ button?: boolean; /** * Uncontrolled default open state. */ defaultOpen?: boolean; /** * Controlled open state. If supplied, callers own open/closed state. */ open?: boolean; /** * Called when user intent changes open/closed state. */ onOpenChange?: (open: boolean) => void; }; /** * A reusable deck widget that renders a trigger + modal panel assembled from widget containers. */ export declare class ModalWidget extends Widget { #private; static defaultProps: Required; className: string; placement: WidgetPlacement; triggerLabel: string; triggerIcon: string; hideTrigger: boolean; title: string; isOpen: boolean; constructor(props?: Partial); setProps(props: Partial): void; onAdd(): void; onRemove(): void; onRenderHTML(rootElement: HTMLElement): void; } //# sourceMappingURL=modal-widget.d.ts.map