import * as react_jsx_runtime from 'react/jsx-runtime';
import * as React from 'react';
export { AltHintState, ShortcutProps as CoreShortcutProps, KeyboardShortcutAPI, SANE_DEFAULTS, ShortcutRegistry, altHintState, formatShortcut, globalShortcutRegistry, shortcutBadgeStyles, shortcutKeyStyles, shortcutSeparatorStyles } from '../keyboard-shortcut/index.js';

declare const ShortcutContext: React.Context<boolean>;
declare function ShortcutProvider({ children }: {
    children: React.ReactNode;
}): react_jsx_runtime.JSX.Element;
interface UseShortcutOptions {
    shortcut?: string;
    action?: string;
    onTrigger: () => void;
    enabled?: boolean;
    preventDefault?: boolean;
}
declare function useShortcut({ shortcut, action, onTrigger, enabled, preventDefault, }: UseShortcutOptions): {
    keys: string[];
    showHints: boolean;
};
interface ShortcutHintProps extends Omit<ShortcutBadgeProps, 'keys'> {
    shortcut?: string;
    action?: string;
}
declare function ShortcutHint({ shortcut, action, className, platform, ...props }: ShortcutHintProps): react_jsx_runtime.JSX.Element | null;
interface KeyboardShortcutProps {
    /** Key combination */
    keys: string[];
    /** Callback when triggered */
    onTrigger: () => void;
    /** Whether enabled */
    enabled?: boolean;
    /** Prevent default browser behavior */
    preventDefault?: boolean;
}
/**
 * Invisible keyboard shortcut listener component.
 * Attaches a global keydown listener and calls onTrigger when the combo matches.
 */
declare function KeyboardShortcut({ keys, onTrigger, enabled, preventDefault, }: KeyboardShortcutProps): null;
declare namespace KeyboardShortcut {
    var displayName: string;
}
interface ShortcutBadgeProps {
    /** Key combination to display */
    keys: string[];
    /** Use platform-aware display (Mac symbols) */
    platform?: boolean;
    className?: string;
}
declare function ShortcutBadge({ keys, platform, className }: ShortcutBadgeProps): React.DetailedReactHTMLElement<{
    className: string;
}, HTMLElement>;
declare namespace ShortcutBadge {
    var displayName: string;
}

export { KeyboardShortcut, type KeyboardShortcutProps, ShortcutBadge, type ShortcutBadgeProps, ShortcutContext, ShortcutHint, type ShortcutHintProps, ShortcutProvider, type UseShortcutOptions, useShortcut };
