import { Point, ValuesType } from '../../../internal-types'; export type Editor = { id: string; selectedMap: Record; hasUndo: boolean; hasRedo: boolean; viewport: Viewport; focusTable: FocusTable | null; drawRelationship: DrawRelationship | null; hoverColumnMap: Record; hoverRelationshipMap: Record; openMap: Record; draggableColumn: DraggableColumn | null; draggingColumnMap: Record; sharedMouseTrackerMap: Record; }; export type Viewport = { width: number; height: number; }; export type FocusTable = { tableId: string; columnId: string | null; focusType: FocusType; selectColumnIds: string[]; prevSelectColumnId: string | null; edit: boolean; }; export type DrawRelationship = { relationshipType: number; start: (Point & { tableId: string; }) | null; end: Point; }; export type DraggableColumn = { tableId: string; columnIds: string[]; }; export type SharedMouseTracker = { id: string; x: number; y: number; nickname: string; timeoutId: any; }; export declare const SelectType: { readonly table: "table"; readonly memo: "memo"; }; export type SelectType = ValuesType; export declare const FocusType: { readonly tableName: "tableName"; readonly tableComment: "tableComment"; readonly columnName: "columnName"; readonly columnDataType: "columnDataType"; readonly columnNotNull: "columnNotNull"; readonly columnUnique: "columnUnique"; readonly columnAutoIncrement: "columnAutoIncrement"; readonly columnDefault: "columnDefault"; readonly columnComment: "columnComment"; }; export type FocusType = ValuesType; export declare const MoveKey: { ArrowUp: string; ArrowRight: string; ArrowDown: string; ArrowLeft: string; Tab: string; }; export type MoveKey = ValuesType; export declare const hasMoveKeys: (value: string) => boolean; export declare const createEditor: () => Editor;