import type { FieldRegistry } from '../registry/field-registry';
import type { FieldStore } from '../store/field-store';
import type { FieldRuntime } from '../runtime/field-runtime';
import type { FieldContext, FieldLifecycleCallbacks, FieldActionResult } from '../types';
export declare class FieldOrchestrator {
    private registry;
    private store;
    private runtime;
    constructor(registry: FieldRegistry, store: FieldStore, runtime: FieldRuntime);
    /**
     * 创建字段的统一流程。
     *
     * @param type      - 字段类型标识（如 'ai-generate' / 'formula'）
     * @param config    - 字段配置，结构由对应 driver 定义
     * @param ctx       - 字段上下文
     * @param callbacks - 可选的成功/失败回调（便于调用方处理 UI 侧逻辑）
     * @returns FieldActionResult，成功时携带 record，失败时携带 error
     */
    createField(type: string, config: any, ctx: FieldContext, callbacks?: FieldLifecycleCallbacks): Promise<FieldActionResult>;
    /**
     * 编辑字段的统一流程。
     * 优先调用 driver.updateMeta（编辑专属逻辑），若未实现则退化到 persistMeta。
     * 编辑完成后重新写入 store 并触发物化（如公式重新计算）。
     */
    editField(type: string, columnId: string, config: any, ctx: FieldContext, callbacks?: FieldLifecycleCallbacks): Promise<FieldActionResult>;
    /**
     * 删除字段的统一流程。
     * 先调用 driver.remove（AI 字段需远程删除），再从 store 清理本地记录。
     */
    deleteField(type: string, columnId: string, ctx: FieldContext, callbacks?: FieldLifecycleCallbacks): Promise<FieldActionResult>;
    /**
     * 获取字段编辑所需的配置信息。
     * 优先通过 driver.hydrate 从旧数据结构恢复，退化到 store.getFieldRecord。
     */
    getEditConfig(type: string, columnId: string, ctx: FieldContext): any;
}
