/**
 * 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 { IRecursionFieldProps, ISchema, ReactFC, Schema } from '@formily/react';
import React, { FC } from 'react';
import { CollectionFieldOptions } from '../data-source/collection/Collection';
interface INocoBaseRecursionFieldProps extends IRecursionFieldProps {
    /**
     * Default Schema for collection fields
     */
    uiSchema?: ISchema;
    /**
     * Value for fields
     */
    values?: Record<string, any>;
    /**
     * @default true
     * Whether to use Formily Field class - performance will be reduced but provides better compatibility with Formily
     */
    isUseFormilyField?: boolean;
    parentSchema?: Schema;
}
export declare const RefreshComponentProvider: FC<{
    refresh: () => void;
}>;
export declare const useRefreshComponent: () => () => void;
/**
 * Create a new fieldSchema instance to refresh the component after modifying fieldSchema
 * @returns
 */
export declare const useRefreshFieldSchema: () => (options?: {
    refreshParentSchema?: boolean;
}) => void;
/**
 * @internal
 * The difference from `useCollectionField` is that it returns empty if the current schema is not a collection field,
 * while the value of `useCollectionField` is determined by the context in the component tree.
 */
export declare const useCollectionFieldUISchema: () => CollectionFieldOptions;
export declare const CollectionFieldUISchemaProvider: FC<{
    fieldSchema: Schema;
}>;
export declare const IsInNocoBaseRecursionFieldContext: React.Context<boolean>;
/**
 * @internal
 * Note: Only suitable for use within the CollectionField component
 */
export declare const useIsInNocoBaseRecursionFieldContext: () => boolean;
/**
 * Based on @formily/react v2.3.2 RecursionField component
 * Modified to better adapt to NocoBase's needs
 */
export declare const NocoBaseRecursionField: ReactFC<INocoBaseRecursionFieldProps>;
export {};
