export interface ShortcutEntry {
    /**
     * Key combination tokens, e.g. `["Ctrl", "S"]` or `["F5"]`.
     * Each token is rendered as a styled `<kbd>` key cap.
     */
    keys: string[];
    /** Human-readable description of what the shortcut does. */
    description: string;
}
export interface ShortcutsSection {
    /** Section heading, e.g. "File", "Edit". */
    title: string;
    shortcuts: ShortcutEntry[];
}
export interface ShortcutsDialogProps {
    /** Whether the dialog is visible. */
    open: boolean;
    /** Called when the dialog is dismissed (Escape, close button). */
    onClose: () => void;
    /** Dialog heading. Defaults to `"Keyboard Shortcuts"`. */
    title?: string;
    /** Shortcut sections to display. */
    sections: ShortcutsSection[];
}
/**
 * Modal dialog listing keyboard shortcuts, grouped in sections, with
 * integrated search to filter by description or key name.
 *
 * Mirrors `AdwShortcutsDialog` (libadwaita 1.8 / GNOME 49).
 *
 * - Renders into a portal (`document.body`).
 * - Traps focus; Escape closes.
 * - Search filters across all sections in real time.
 *
 * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ShortcutsDialog.html
 */
export declare function ShortcutsDialog({ open, onClose, title, sections, }: ShortcutsDialogProps): import("react/jsx-runtime").JSX.Element | null;
