/**
 * 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 type { NamePath } from './value-runtime/types';
import type { FormBlockModel } from './FormBlockModel';
/**
 * 生成提交前的校验字段列表：
 * - 在配置态下可用于绕开“联动隐藏字段”的必填校验；
 * - 仅排除 `model.hidden=true` 的字段路径；
 * - 返回 null 表示无法安全推断，调用方应回退到 `validateFields()` 全量校验。
 */
export declare function getValidationNamePathsExcludingHiddenModels(blockModel: FormBlockModel): NamePath[] | null;
export declare function shouldSkipSubmitValidation(model: {
    getStepParams?: (flowKey: string, stepKey: string) => {
        skipValidator?: boolean;
    } | undefined;
} | null | undefined): boolean;
export declare function validateSubmitForm(options: {
    form?: {
        validateFields?: (nameList?: any) => Promise<any>;
    } | null;
    blockModel?: FormBlockModel | null;
    flowSettingsEnabled?: boolean;
    skipValidator?: boolean;
}): Promise<void>;
/**
 * 提交前过滤：移除当前表单 block 中被「联动规则隐藏」的字段值（`model.hidden === true`）。
 *
 * 说明：
 * - 仅对 “隐藏 / Hidden” 生效（对应 `model.hidden=true`）。
 * - “隐藏并保留值 / Hidden (reserved value)” 在实现上是 `props.hidden=true` 但 `model.hidden=false`，
 *   因此仍会提交（保持现有语义）。
 * - 不会清空 antd Form 的内部 store，只影响本次提交 payload。
 */
export declare function omitHiddenModelValuesFromSubmit<T = any>(values: T, blockModel: FormBlockModel): T;
