import type { HotkeysGroup } from '@gravity-ui/navigation'; export declare const SHORTCUTS_HOTKEY: string; export declare const DEFAULT_HOTKEY_GROUPS: HotkeysGroup[]; export declare const EDITOR_TABS_HOTKEY_GROUP: HotkeysGroup; export interface HotkeysPanelProps { visible: boolean; closePanel: () => void; hotkeyGroups?: HotkeysGroup[]; } /** * HotkeysPanelWrapper creates a render cycle separation between mounting and visibility change. * This is necessary for smooth animations as HotkeysPanel uses CSSTransition internally. * * When a component is both mounted and set to visible at once, CSSTransition can't * properly sequence its transition classes (panel → panel-active) because it's already active when mounted * and counts transition as it has already happened. * This wrapper ensures the component mounts first, then sets visible=true in a subsequent render cycle * to make transition actually happen. */ export declare const HotkeysPanelWrapper: ({ visible: propsVisible, closePanel, hotkeyGroups, }: HotkeysPanelProps) => import("react/jsx-runtime").JSX.Element; interface UseHotkeysPanel { isPanelVisible: boolean; openPanel: () => void; closePanel: () => void; hotkeyGroups?: HotkeysGroup[]; } export declare const useHotkeysPanel: ({ isPanelVisible, openPanel, closePanel, hotkeyGroups, }: UseHotkeysPanel) => { renderPanel: () => import("react/jsx-runtime").JSX.Element; }; export {};