import type { RicosEditorProps } from '../ricos-common/index.js';
import type { PmContentContextType } from '../ricos-context/pm-content-context';
import type { SelectionContextType } from '../ricos-context/selection-context';
import type { ToolbarState } from '../ricos-context/toolbar-context.js';
import type { ModalState } from '../ricos-modals/modal-service.js';
import type { EditorEventSource, EventSource, IRicosEditor, PolicySubscriber, PublisherProvider, RicosServices, SubscriptorProvider } from '../ricos-types/index.js';
import type { SelectorContextValue } from '../_shared/use-context-selector.js';
import type { InlineAiContextType } from '../plugin-inline-ai/inline-ai-context.js';
import type { TiptapAdapter } from '../tiptap-editor/components/rich-content-adapter.js';
type Topics = [
    'ricos.editor.instance.loaded',
    'ricos.editor.instance.error',
    'ricos.editor.functionality.firstEdit',
    'ricos.editor.content.saved'
];
type UploadTopics = [
    'ricos.upload.functionality.uploadStarted',
    'ricos.upload.functionality.uploadFinished'
];
export declare class RicosEditor implements IRicosEditor, EventSource<Topics>, PolicySubscriber<UploadTopics>, EditorEventSource {
    private tiptapAdapter;
    id: string;
    constructor(editorProps: RicosEditorProps, services: Omit<RicosServices, 'editor' | 'zIndexService'>, isDebugMode: boolean | undefined, getToolbarStateSelectorContextValue: () => SelectorContextValue<ToolbarState>, getSelectionSelectorContextValue: () => SelectorContextValue<SelectionContextType>, getModalStateSelectorContextValue: () => SelectorContextValue<ModalState>, getPmContentSelectorContextValue: () => SelectorContextValue<PmContentContextType>, getInlineAiStateSelectorContextValue: () => SelectorContextValue<InlineAiContextType>);
    topicsToPublish: Topics;
    topicsToSubscribe: UploadTopics;
    publishers: PublisherProvider<Topics>;
    subscriptors: SubscriptorProvider<UploadTopics>;
    publishLoaded(): boolean;
    publishFirstEdit(): boolean;
    publishError(error: any, errorInfo: any): boolean;
    publishContentSaved(): boolean;
    get adapter(): TiptapAdapter;
    getPublicCommands: () => import("../ricos-types/editor-commands-type").PublicCommands;
}
export {};
//# sourceMappingURL=ricos-editor.d.ts.map