import { ShallowRef } from 'vue';
import { DocumentFactory } from '../factories/useDocumentFactory';
import { DocOperations } from './useDocOperations';
/** 与外部 nocode EmitterEnum.__on_looper_auto_save 对齐的事件名 */
export declare const DOC_LOOPER_AUTO_SAVE_EVENT: "__on_looper_auto_save";
export interface DocLooperAutoSavePayload {
    changed?: boolean;
}
export interface UseDocLooperAutoSaveNotifyOptions {
    onLooperAutoSave?: (payload?: DocLooperAutoSavePayload) => void;
    /**
     * 当值为 true 时，取消挂起的防抖并跳过所有通知。
     * 由 factory.isRefreshingData 驱动，防止 refreshData() 触发循环。
     */
    suppressSignal?: ShallowRef<boolean>;
}
/**
 * 监听文档数据/模型变更，在用户停止输入后（防抖 300ms）检测 dirty 状态，
 * 若有未保存改动则触发 onLooperAutoSave 回调。
 *
 * 返回 releaseSuppressOnLoad，需由外部在文档成功加载后调用，以准确控制
 * suppress 的释放时机（避免初始化阶段的数据变更触发误报）。
 */
export declare function useDocLooperAutoSaveNotify(factory: DocumentFactory, ops: DocOperations, options: UseDocLooperAutoSaveNotifyOptions): () => void;
