import type { Placement } from '@floating-ui/dom'; import type { Snippet } from 'svelte'; type Props = { /** Floating UI placement. @default 'bottom-start' */ position?: Placement; /** Distance in px between the trigger and the content. @default 4 */ offset?: number; /** Padding in px from the viewport boundary before content shifts/flips. @default 8 */ boundaryMargin?: number; fixedPosition?: boolean; matchWidth?: boolean; disabled?: boolean; backdrop?: boolean; /** Apply built-in panel styling. @default true */ panel?: boolean; /** Keep open on any click inside the content. */ keepOpen?: boolean; on?: { opened?: () => void; closed?: () => void; }; trigger?: Snippet; children: Snippet; /** ms before hover-open fires (debounce against accidental hovers). @default 100 */ openDelay?: number; /** ms after mouse leaves trigger+content before close fires (gives time to bridge into the panel). @default 200 */ closeDelay?: number; }; /** * HoverPopover — thin wrapper around Popover that opens on hover/focus instead of click. * Content is rendered as a DOM descendant of the wrapper, so moving the cursor from trigger * to content stays "inside" the hover zone (no close fires). The `closeDelay` covers the * small visual gap between trigger and content. * * `bind:this` on HoverPopover forwards `open() / close() / toggle()` from the inner Popover. */ declare const Cmp: import("svelte").Component void; close: () => void; toggle: () => void; }, "">; type Cmp = ReturnType; export default Cmp;