/**
 * This file is part of the NocoBase (R) project.
 * Copyright (c) 2020-2024 NocoBase Co., Ltd.
 * Authors: NocoBase Team.
 *
 * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
 * For more information, please refer to: https://www.nocobase.com/agreement.
 */
import React from 'react';
import { FieldModel } from '../base/FieldModel';
/**
 * JS 可编辑字段（表单项）：
 * - 通过 jsSettings.runJs 运行 JS 代码；
 * - 在运行时提供 ctx.getValue/ctx.setValue，实现与表单的双向交互；
 * - 子节点由脚本渲染（DOM 操作），用于完全自定义输入体验。
 */
export declare class JSEditableFieldModel extends FieldModel {
    private _mountedOnce;
    private _pendingJsSettingsApply;
    private _lastAppliedJsSettings?;
    scheduleApplyJsSettings(): void;
    useHooksBeforeRender(): void;
    render(): React.JSX.Element;
    /**
     * 在 CreateForm / 提交后重置等场景下，字段可能被卸载并重新挂载。
     * 由于 beforeRender 命中缓存，新挂载的容器不会自动写入 JS 渲染内容。
     * 这里在二次挂载时检测容器已就绪，主动触发 rerender 来刷新 beforeRender（禁用缓存），
     * 保证输入框不会因为容器变更而空白。
     */
    protected onMount(): void;
}
