import type { EditorState, Transaction } from 'prosemirror-state'; import type { EditorView } from 'prosemirror-view'; import type { schemas } from '@curvenote/schema'; import type { EditorActionTypes } from './types'; import type { AppThunk } from '../types'; import type { LinkType } from '../../components/types'; export declare function initEditorState(useSchema: schemas.UseSchema, stateKey: any, editable: boolean, content: string, version: number): EditorActionTypes; export declare function updateEditorState(stateKey: any, viewId: string | null, editorState: EditorState, tr?: Transaction): EditorActionTypes; export declare function applyProsemirrorTransaction(stateKey: any, viewId: string | null, tr: Transaction | ((tr: Transaction, view: EditorView) => Transaction), focus?: boolean): AppThunk; export declare function subscribeView(stateKey: any, viewId: string, view: EditorView): EditorActionTypes; export declare function unsubscribeView(stateKey: any, viewId: string): EditorActionTypes; export declare function resetAllEditorsAndViews(): EditorActionTypes; export declare function resetAllViews(): EditorActionTypes; export declare function resetEditorAndViews(stateKey: any): EditorActionTypes; export declare function switchLinkType({ linkType, stateId, viewId, url, }: { linkType: LinkType; stateId: string; viewId: string; url: string; }): AppThunk;