import React, { ReactNode } from 'react'; import PropTypes from 'prop-types'; import HotKeysFoudation, { HotKeysAdapter } from '@douyinfe/semi-foundation/lib/es/hotKeys/foundation'; import { Keys } from '@douyinfe/semi-foundation/lib/es/hotKeys/constants'; import BaseComponent from '../_base/baseComponent'; import '@douyinfe/semi-foundation/lib/es/hotKeys/hotKeys.css'; export interface HotKeysProps { preventDefault?: boolean; hotKeys?: KeyboardEvent["key"][]; content?: string[]; onClick?: () => void; onHotKey?: (e: KeyboardEvent) => void; mergeMetaCtrl?: boolean; render?: () => ReactNode | ReactNode; getListenerTarget?: () => HTMLElement; className?: string; style?: React.CSSProperties; } export interface HotKeysState { } declare class HotKeys extends BaseComponent { static propTypes: { preventDefault: PropTypes.Requireable; hotKeys: PropTypes.Requireable; content: PropTypes.Requireable; onClick: PropTypes.Requireable<(...args: any[]) => any>; onHotKey: PropTypes.Requireable<(...args: any[]) => any>; mergeMetaCtrl: PropTypes.Requireable; render: PropTypes.Requireable any)>>; getListenerTarget: PropTypes.Requireable<(...args: any[]) => any>; className: PropTypes.Requireable; style: PropTypes.Requireable; }; static defaultProps: Partial; static Keys: typeof Keys; constructor(props: HotKeysProps); componentDidMount(): void; componentDidUpdate(_prevProps: HotKeysProps): void; componentWillUnmount(): void; foundation: HotKeysFoudation; get adapter(): HotKeysAdapter; render(): React.JSX.Element; } export default HotKeys;