import { Promisable } from '@p-lc/shared'; import { AnyEditorPlugin, Editor, EditorDefaultPropertiesExtHkt, EditorDefaultPropertiesExtHktPlugin, EditorRawPlugin } from '../../types'; import { editorPluginEmitter } from '../editor-plugin-emitter'; import { UidlStoreUidl, editorPluginUidlStore, editorPluginUidlStoreEdit } from '../uidl-store-plugins'; /** * 编辑器保存仓库插件属性扩展 */ export interface EditorPluginSaveStorePropertiesExtHkt { editor: { /** * 发射器事件 */ emitterEvents: { /** * 保存事件 */ save: { /** * UIDL */ uidl: UidlStoreUidl; }; }; /** * 保存仓库 */ saveStore: { /** * 已保存的 UIDL */ savedUidl: UidlStoreUidl | null; /** * 是可保存的 */ isSavable: boolean; /** * 可保存检查,用于其他插件覆盖 isSavable 逻辑 */ checkSavable(): boolean; /** * 正在保存 */ isSaving: boolean; /** * 保存 */ save(): void; /** * 保存事件 * @param uidl UIDL * @param ctx 上下文,编辑器 */ onSave?(uidl: UidlStoreUidl, ctx: Editor): Promisable; }; }; } /** * 编辑器事件键值:保存 */ export declare const EDITOR_EVENT_KEY_SAVE = "save"; /** * EditorPluginSaveStorePropertiesExtHkt 辅助类型 */ export interface $EditorPluginSaveStorePropertiesExtHkt extends EditorDefaultPropertiesExtHkt { type: EditorPluginSaveStorePropertiesExtHkt>; } /** * 编辑器保存仓库插件 */ export declare const editorPluginSaveStore: EditorRawPlugin<$EditorPluginSaveStorePropertiesExtHkt, typeof editorPluginEmitter | typeof editorPluginUidlStore | typeof editorPluginUidlStoreEdit>; //# sourceMappingURL=editor-plugin-save-store.d.ts.map