import { ComputedRef, MaybeRef, Ref } from 'vue';
import { XComponentsConfig } from '../../x-provider/context';
import { CodeKeyType, ShortcutKeys } from '../type';
export type ShortcutKeyActionType = {
    actionShortcutKey: ShortcutKeys<number>;
    actionKeyCode: number;
    name: string;
    timeStamp: number;
    actionKeyCodeNumber: number | false;
    index?: number;
};
export type ShortcutKeyInfoType = {
    shortcutKeys: ShortcutKeys | ShortcutKeys[];
    shortcutKeysIcon: string[] | string[][];
};
type ShortcutKeysInfo = Record<string, ShortcutKeyInfoType>;
type Observer = (shortcutKeyAction: ShortcutKeyActionType) => void;
type Subscribe = (fn: Observer) => void;
interface UseShortcutKeysOptions {
    shouldIgnore?: (event: KeyboardEvent) => boolean;
}
declare const getShortcutKeysIcon: (key: CodeKeyType) => string;
export default function useShortcutKeys(component: keyof XComponentsConfig, shortcutKeys?: MaybeRef<Record<string, ShortcutKeys | ShortcutKeys[]> | undefined>, options?: UseShortcutKeysOptions): [
    Ref<ShortcutKeyActionType | null>,
    ComputedRef<ShortcutKeysInfo>,
    Subscribe
];
export { getShortcutKeysIcon };
