import { IPlugin } from '../actions/i-plugin';
import type { ICommandExecutor } from './i-command-executor';
import type { IContentManager } from './i-content-manager';
import type { ICursorManager } from './i-cursor-manager';
import type { IUndoManager } from './i-undo-manager';
export declare abstract class IEditorCore {
    abstract readonly _uid: string;
    abstract readonly _editorElement: HTMLElement;
    abstract content: IContentManager;
    abstract cursor: ICursorManager;
    abstract undo: IUndoManager;
    abstract command: ICommandExecutor;
    abstract maxLength: number;
    abstract plugin: Record<string, IPlugin>;
    abstract destroy(): void;
    abstract editorTop(): number;
    abstract editorLeft(): number;
    abstract appendContent(content: string | string[]): void;
    abstract element: HTMLElement;
}
