import { type KeyboardEvent, type MouseEvent, type ReactNode } from 'react'; import type { WorkspaceContextMenuAnchorBounds } from './workspace-text-control-selection'; export { workspaceTextControlSelectionBounds } from './workspace-text-control-selection'; export type WorkspaceContextMenuEvent = MouseEvent | KeyboardEvent; export declare function isWorkspaceContextMenuKeyboardEvent({ key, shiftKey, }: Pick, 'key' | 'shiftKey'>): boolean; export declare function workspaceContextMenuPosition(event: WorkspaceContextMenuEvent, keyboardAnchorBounds?: WorkspaceContextMenuAnchorBounds | null): { x: number; y: number; }; export interface WorkspaceContextMenuItem { id: string; label: string; icon: ReactNode; onSelect(): void; shortcut?: string; ariaKeyShortcut?: string; danger?: boolean; disabled?: boolean; separatorBefore?: boolean; } export declare function WorkspaceContextMenu({ label, className, x, y, items, onClose, onRestoreFocus, }: { label: string; className?: string; x: number; y: number; items: readonly WorkspaceContextMenuItem[]; onClose(): void; onRestoreFocus?(): void; }): import("react").ReactPortal | null;