/**
 * 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.
 */
type CapabilityCollection = {
    options?: Record<string, any>;
};
type CapabilityModelClass = {
    prototype?: {
        getAclActionName?: () => string | null | undefined;
    };
    capabilityActionName?: string | null;
    capabilityActionNames?: string[] | null;
    blockCapabilityActionName?: string | null;
    blockCapabilityActionNames?: string[] | null;
};
/**
 * 统一动作能力名，保证 v2 与 v1 使用同一套数据源动作键。
 *
 * @param actionName 动作名
 * @returns 归一化后的动作能力名
 */
export declare const normalizeCapabilityActionName: (actionName?: string | null) => string;
/**
 * 判断 collection 是否支持指定动作能力。
 *
 * @param collection 数据表
 * @param capabilityName 动作能力键
 * @returns 是否支持
 */
export declare const isCapabilitySupported: (collection: CapabilityCollection | null | undefined, capabilityName?: string | null) => boolean;
/**
 * 判断 collection 是否支持一组动作能力。
 *
 * @param collection 数据表
 * @param capabilityNames 动作能力键数组
 * @returns 是否全部支持
 */
export declare const areCapabilitiesSupported: (collection: CapabilityCollection | null | undefined, capabilityNames?: Array<string | null | undefined> | null) => boolean;
/**
 * 推导动作模型使用的数据源动作能力键。
 * 默认会回落到 getAclActionName，但允许通过静态字段显式覆写。
 *
 * @param ModelClass 动作模型类
 * @returns 动作能力键数组或 null
 */
export declare const getActionCapabilityNamesFromModelClass: (ModelClass: CapabilityModelClass) => string[];
/**
 * 推导区块模型在“选择 collection”时需要满足的数据源动作能力键。
 * 仅对显式声明的区块生效，避免误把所有区块都套上 view/create/update 过滤。
 *
 * @param ModelClass 区块模型类
 * @returns 动作能力键数组或 null
 */
export declare const getBlockCapabilityNamesFromModelClass: (ModelClass: CapabilityModelClass) => string[];
export {};
