import * as React from 'react'; import { IConflicts } from './ShortcutInput'; import { IKeybinding, IShortcutRegistry, IShortcutTarget, IShortcutUI } from '../types'; /** Props for ShortcutItem component */ export interface IShortcutItemProps { shortcut: IShortcutTarget; addKeybinding: IShortcutUI['addKeybinding']; replaceKeybinding: IShortcutUI['replaceKeybinding']; resetKeybindings: IShortcutUI['resetKeybindings']; deleteKeybinding: IShortcutUI['deleteKeybinding']; findConflictsFor: IShortcutRegistry['findConflictsFor']; showSelectors: boolean; external: IShortcutUI.IExternalBundle; } /** State for ShortcutItem component */ export interface IShortcutItemState { displayNewInput: boolean; displayReplaceInput: Readonly>; conflicts: ReadonlyMap; } /** React component for each command shortcut item */ export declare class ShortcutItem extends React.Component { constructor(props: IShortcutItemProps); componentDidMount(): void; componentWillUnmount(): void; private _onActionRequested; /** Toggle display state of input box */ private toggleInputNew; /** Transform special key names into unicode characters */ toSymbols: (value: string) => string; getCategoryCell(): JSX.Element; getLabelCell(): JSX.Element; getResetShortCutLink(): JSX.Element; getSourceCell(): JSX.Element; getOptionalSelectorCell(): JSX.Element | null; getClassNameForShortCuts(nonEmptyBindings: IKeybinding[]): string; toggleInputReplaceMethod(location: number): void; getDisplayReplaceInput(location: number): boolean; getOrDiplayIfNeeded(force: boolean): JSX.Element; getShortCutAsInput(binding: IKeybinding, location: number): JSX.Element; getShortCutForDisplayOnly(binding: IKeybinding): JSX.Element[]; isLocationBeingEdited(location: number): boolean; getDivForKey(index: number, binding: IKeybinding, nonEmptyBindings: IKeybinding[]): JSX.Element; getAddLink(): JSX.Element; getInputBoxWhenToggled(): JSX.Element; getShortCutsCell(nonEmptyBindings: IKeybinding[]): JSX.Element; getConflicts(): JSX.Element; /** * Mark conflict as resolved. */ private _clearConflict; /** * Create a unique conflict identifier. */ private _conflictId; private get _nonEmptyBindings(); render(): JSX.Element; private _trans; }