import type { PmContentContextType } from '../../ricos-context/pm-content-context.js';
import type { SelectionContextType } from '../../ricos-context/selection-context.js';
import type { ToolbarState } from '../../ricos-context/toolbar-context.js';
import type { ModalState } from '../../ricos-modals/modal-service.js';
import type { DocumentStyle } from '@wix/ricos/schema';
import type { EditorPluginName } from '../../ricos-schema/next-schema/index.js';
import type { FocusPosition, OpenModalOptions, PublicCommands, RicosEditorAPI, TextAlignment, TiptapEditor, ToolbarSettings } from '../../ricos-types/index.js';
import { type SelectorContextValue } from '../../_shared/use-context-selector.js';
import type { JSONContent } from '../../tiptap/core/index';
import type { Editor } from '../../tiptap/react';
import type { InlineAiContextType } from '../../plugin-inline-ai/inline-ai-context.js';
import type { TiptapAdapterServices } from '../initialize-tiptap-adapter.js';
export interface TiptapAdapter {
    getEditorCommands(): PublicCommands;
    getToolbarProps: RicosEditorAPI['getToolbarProps'];
    openModal: RicosEditorAPI['openModal'];
    focus: RicosEditorAPI['focus'];
    blur: RicosEditorAPI['blur'];
    tiptapEditor: TiptapEditor;
    getDocumentStyle: () => DocumentStyle;
    setTiptapContent: (content: JSONContent) => void;
    useToolbarProps: RicosEditorAPI['useToolbarProps'];
    /** @internal */
    useToolbarWixelProps: RicosEditorAPI['useToolbarWixelProps'];
    useInlineAiState: RicosEditorAPI['useInlineAiState'];
    useUndoState: RicosEditorAPI['useUndoState'];
}
export declare class RichContentAdapter implements TiptapAdapter {
    tiptapEditor: Editor;
    getToolbarProps: TiptapAdapter['getToolbarProps'];
    useToolbarProps: TiptapAdapter['useToolbarProps'];
    useToolbarWixelProps: TiptapAdapter['useToolbarWixelProps'];
    useInlineAiState: TiptapAdapter['useInlineAiState'];
    useUndoState: TiptapAdapter['useUndoState'];
    private readonly services;
    constructor(tiptapEditor: Editor, services: TiptapAdapterServices, toolbarSettings: ToolbarSettings | undefined, getToolbarStateSelectorContextValue: () => SelectorContextValue<ToolbarState>, getSelectionSelectorContextValue: () => SelectorContextValue<SelectionContextType>, getModalStateSelectorContextValue: () => SelectorContextValue<ModalState>, pmContentSelectorContextValue: () => SelectorContextValue<PmContentContextType>, getInlineAiStateSelectorContextValue: () => SelectorContextValue<InlineAiContextType>);
    private useWixelToolbarProps;
    openModal: (options: OpenModalOptions) => void;
    getContainer: () => Element;
    getDocumentStyle: () => any;
    focus(focusPosition?: FocusPosition): void;
    blur(): void;
    setTiptapContent(content: JSONContent): void;
    getEditorCommands(): PublicCommands;
    editorMocks: {
        getAnchorableBlocks: () => {
            anchorableBlocks: never[];
            pluginsIncluded: never[];
        };
        getTextAlignment: () => TextAlignment;
        isBlockTypeSelected: () => boolean;
        isUndoStackEmpty: () => any;
        isRedoStackEmpty: () => any;
        getSelectedData: () => string;
        getPluginsList: () => EditorPluginName[];
        scrollToBlock: (_nodeId: $TSFixMe) => void;
        isBlockInContent: (_nodeId: $TSFixMe) => boolean;
        toggleBlockOverlay: (_nodeId: $TSFixMe) => boolean;
        getBlockSpacing: () => {
            'line-height': any;
            'padding-top': any;
            'padding-bottom': any;
        };
        saveEditorState: () => void;
        loadEditorState: () => void;
        saveSelectionState: () => void;
        loadSelectionState: () => void;
        setBlockType: () => void;
        _setSelection: () => void;
        getAnchorBlockInlineStyles: () => {};
        getInlineStylesInSelection: () => {};
        getWiredFontStyles: () => {};
        isAtomicBlockInSelection: () => boolean;
        isTextBlockInSelection: () => boolean;
        getAnchorBlockType: () => string;
        focus: (focusPosition?: FocusPosition) => void;
    };
}
//# sourceMappingURL=rich-content-adapter.d.ts.map