/**
 * 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 React from 'react';
export type FieldTreeCollectionManager = {
    getCollectionAllFields(collection: string): any[];
    getCollection?(collection: string): {
        template?: string;
    } | undefined;
};
export type VariableOption = {
    key?: string;
    value?: string;
    label?: string | React.ReactNode;
    children?: VariableOption[] | null;
    [key: string]: any;
};
export type VariableDataType = 'boolean' | 'number' | 'string' | 'date' | {
    type: 'reference';
    options: {
        collection: string;
        multiple?: boolean;
        entity?: boolean;
    };
} | ((field: any, options: {
    collectionManager?: FieldTreeCollectionManager;
}) => boolean);
export type UseVariableOptions = {
    types?: VariableDataType[];
    fieldNames?: {
        label?: string;
        value?: string;
        children?: string;
    };
    appends?: string[] | null;
    depth?: number;
};
export declare const defaultFieldNames: {
    readonly label: "label";
    readonly value: "value";
    readonly children: "children";
};
/**
 * @deprecated
 */
export declare const BaseTypeSets: {
    boolean: Set<string>;
    number: Set<string>;
    string: Set<string>;
    date: Set<string>;
};
export declare function getCollectionFieldOptions(options: any): VariableOption[];
