import { IPublicTypeLiveTextEditingConfig } from '@alilc/lowcode-types'; import { INode, Prop } from '../../document'; export interface EditingTarget { node: INode; rootElement: HTMLElement; event: MouseEvent; } declare function addLiveEditingSaveHandler(handler: SaveHandler): void; declare function clearLiveEditingSaveHandler(): void; declare function addLiveEditingSpecificRule(rule: SpecificRule): void; declare function clearLiveEditingSpecificRule(): void; export declare class LiveEditing { static addLiveEditingSpecificRule: typeof addLiveEditingSpecificRule; static clearLiveEditingSpecificRule: typeof clearLiveEditingSpecificRule; static addLiveEditingSaveHandler: typeof addLiveEditingSaveHandler; static clearLiveEditingSaveHandler: typeof clearLiveEditingSaveHandler; private _editing; private _dispose?; private _save?; apply(target: EditingTarget): void; get editing(): Prop; saveAndDispose(): void; dispose(): void; } export type SpecificRule = (target: EditingTarget) => (IPublicTypeLiveTextEditingConfig & { propElement?: HTMLElement; }) | null; export interface SaveHandler { condition: (prop: Prop) => boolean; onSaveContent: (content: string, prop: Prop) => void; } export {};