import { Languages } from '../../date-picker/date.types';
import { CustomElementDefinition } from '../../../global/shared-types/custom-element.types';
import { TriggerCharacter } from '../text-editor.types';
import { EditorUiType } from '../types';
/**
 * The ProseMirror adapter offers a rich text editing experience with markdown support.
 * [Read more...](https://prosemirror.net/)
 *
 * @exampleComponent limel-example-prosemirror-adapter-basic
 * @exampleComponent limel-example-prosemirror-adapter-with-custom-menu
 * @beta
 * @private
 */
export declare class ProsemirrorAdapter {
    /**
     * The type of content that the editor should handle and emit, defaults to `markdown`
     *
     * Assumed to be set only once, so not reactive to changes
     */
    contentType: 'markdown' | 'html';
    /**
     * The value of the editor, expected to be markdown
     */
    value: string;
    /**
     * Defines the language for translations.
     */
    language: Languages;
    /**
     * Set to `true` to disable the field.
     * Use `disabled` to indicate that the field can normally be interacted
     * with, but is currently disabled. This tells the user that if certain
     * requirements are met, the field may become enabled again.
     */
    disabled?: boolean;
    /**
     * set to private to avoid usage while under development
     *
     * @private
     * @alpha
     */
    customElements: CustomElementDefinition[];
    /**
     * set to private to avoid usage while under development
     *
     * @private
     * @alpha
     */
    triggerCharacters: TriggerCharacter[];
    /**
     * Specifies the visual appearance of the editor.
     */
    ui: EditorUiType;
    private host;
    private portalId;
    private view;
    private actionBarItems;
    private link;
    /**
     * Open state of the dialog
     */
    isLinkMenuOpen: boolean;
    private menuCommandFactory;
    private schema;
    private contentConverter;
    private actionBarElement;
    private lastEmittedValue;
    private changeWaiting;
    private transactionFired;
    private lastClickedPos;
    private metadata;
    /**
     *  Used to stop change event emitting as result of getting updated value from consumer
     */
    private suppressChangeEvent;
    /**
     * Dispatched when a change is made to the editor
     */
    private change;
    /**
     * Dispatched when a image is pasted into the editor
     *
     * @private
     * @alpha
     */
    private imagePasted;
    /**
     * Dispatched when a image is removed from the editor
     *
     * @private
     * @alpha
     */
    private imageRemoved;
    /**
     * Dispatched when the metadata of the editor changes (images and links)
     *
     * @private
     * @alpha
     */
    private metadataChange;
    constructor();
    protected watchValue(newValue: string): void;
    componentWillLoad(): void;
    componentDidLoad(): void;
    connectedCallback(): void;
    disconnectedCallback(): void;
    render(): any;
    renderToolbar(): any;
    renderLinkMenu(): any;
    private setupContentConverter;
    private getActionBarItems;
    private getTranslatedItem;
    private initializeTextEditor;
    private initializeSchema;
    private parseInitialContent;
    private createEditorState;
    private updateActiveActionBarItems;
    private updateView;
    private handleTransaction;
    private metadataEmitter;
    private removeImagesFromCache;
    private handleActionBarItem;
    private handleCancelLinkMenu;
    private handleSaveLinkMenu;
    private handleLinkChange;
    private handleFocus;
    private handleNewLinkSelection;
    private handleOpenLinkMenu;
    private handleMouseDown;
    private changeEmitter;
    private handleBlur;
}
//# sourceMappingURL=prosemirror-adapter.d.ts.map