import type { Snippet } from 'svelte'; export interface ContextMenuItem { id: string; label: string; disabled?: boolean; destructive?: boolean; separator?: boolean; /** Non-interactive section header (category title). */ header?: boolean; shortcut?: string; /** Group label — items sharing a category are shown under one header. */ category?: string; description?: string; } export interface ContextMenuAnchor { x: number; y: number; } interface ContextMenuProps { items?: ContextMenuItem[]; open?: boolean; /** Screen coordinates for the menu (clientX / clientY). */ anchor?: ContextMenuAnchor | null; /** Show a search field and filter items by label / description / category. */ searchable?: boolean; searchPlaceholder?: string; class?: string; children?: Snippet; onselect?: (id: string, item: ContextMenuItem) => void; onclose?: () => void; } declare const ContextMenu: import("svelte").Component; type ContextMenu = ReturnType; export default ContextMenu;