## API Report File for "@eigenpal/docx-editor-core"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import { EditorView } from 'prosemirror-view';
import { Node as Node_2 } from 'prosemirror-model';
import { Plugin as Plugin_2 } from 'prosemirror-state';

// @public
export interface EditorPluginCore<TState = any> {
    destroy?: () => void;
    id: string;
    initialize?: (view: EditorView | null) => TState;
    name: string;
    onStateChange?: (view: EditorView) => TState | undefined;
    panelConfig?: PanelConfig;
    proseMirrorPlugins?: Plugin_2[];
    styles?: string;
}

// @public
export interface PanelConfig {
    collapsible?: boolean;
    defaultCollapsed?: boolean;
    defaultSize: number;
    maxSize?: number;
    minSize?: number;
    position: 'left' | 'right' | 'bottom';
    resizable?: boolean;
}

// @public
export interface PluginPanelProps<TState = unknown> {
    doc: Node_2 | null;
    editorView: EditorView | null;
    panelWidth: number;
    pluginState: TState;
    renderedDomContext: RenderedDomContext | null;
    scrollToPosition: (pos: number) => void;
    selectRange: (from: number, to: number) => void;
}

// @public
export interface PositionCoordinates {
    // (undocumented)
    height: number;
    // (undocumented)
    x: number;
    // (undocumented)
    y: number;
}

// @public
export interface RenderedDomContext {
    findElementsForRange(from: number, to: number): Element[];
    getContainerOffset(): {
        x: number;
        y: number;
    };
    getCoordinatesForPosition(pmPos: number): PositionCoordinates | null;
    getRectsForRange(from: number, to: number): Array<{
        x: number;
        y: number;
        width: number;
        height: number;
    }>;
    pagesContainer: HTMLElement;
    zoom: number;
}

// @public
export interface SidebarItem {
    anchorKey?: string;
    anchorPos: number;
    fixedY?: number;
    id: string;
    isTemporary?: boolean;
    priority?: number;
}

// @public
export interface SidebarItemContext {
    anchorPositions: Map<string, number>;
    // (undocumented)
    editorView: EditorView | null;
    // (undocumented)
    renderedDomContext: RenderedDomContext | null;
    // (undocumented)
    zoom: number;
}

```
