ketcher-core
Version:
Web-based molecule sketcher
32 lines (31 loc) • 1.69 kB
TypeScript
import { Command } from "../../../domain/entities/Command";
import { type LayoutMode } from './types';
import { type SequenceType } from "../../../domain/entities";
import type { DrawingEntitiesManager } from "../../../domain/entities/DrawingEntitiesManager";
export declare abstract class BaseMode {
modeName: LayoutMode;
previousMode: LayoutMode;
private _pasteIsInProgress;
protected constructor(modeName: LayoutMode, previousMode?: LayoutMode);
get isAntisenseEditMode(): boolean;
get isSyncEditMode(): boolean;
private changeMode;
initialize(needRemoveSelection?: boolean, _isUndo?: boolean, _needReArrangeChains?: boolean): Command;
onKeyDown(event: KeyboardEvent): Promise<void>;
get keyboardEventHandlers(): {};
abstract getNewNodePosition(): any;
abstract applyAdditionalPasteOperations(_drawingEntitiesManager: DrawingEntitiesManager): Command;
abstract isPasteAllowedByMode(drawingEntitiesManager: DrawingEntitiesManager): boolean;
abstract isPasteAvailable(drawingEntitiesManager: DrawingEntitiesManager): boolean;
abstract scrollForView(): void | Promise<void>;
onCopy(event?: ClipboardEvent): void;
onCut(event?: ClipboardEvent): void;
onPaste(event?: ClipboardEvent): Promise<void>;
pasteFromClipboard(clipboardData: any): Promise<void>;
pasteKetFormatFragment(pastedStr: string): Command | undefined;
pasteWithIndigoConversion(pastedStr: string, sequenceType: SequenceType): Promise<Command | undefined>;
private updateEntitiesPosition;
unsupportedSymbolsError(errorMessage: string): void;
private checkIfTargetIsInput;
destroy(): void;
}