/**
 * 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 type { Application } from '../Application';
import { Plugin } from '../Plugin';
export type CurrentUserState = {
    data?: {
        data?: any;
    };
    loading: boolean;
};
export type CurrentRoleOption = {
    name: string;
    title: string;
};
export declare const CurrentUserContext: React.Context<CurrentUserState>;
export declare function useCurrentUserContext(): CurrentUserState;
/**
 * 返回当前用户在 v2 应用上下文中可选的角色列表，等价于 v1 `useCurrentRoles`：从 FlowEngine 全局上下文 `engine.context.user.roles` 派生（CurrentUserProvider 在 `/auth:check` 成功后通过 `defineProperty('user', { value })` 写入），按需追加匿名角色，并去掉合并角色 `__union__`。v2 中角色 title 可能含有 `{{t('...')}}` 模板，因此用 flowEngine.context.t 解析。
 *
 * 不读 React `CurrentUserContext`：FlowEngine 的 dialog/drawer/popover 内容通过 `ctx.viewer` 渲染到独立的 ElementsHolder，部分场景会脱离原 Provider 树；FlowEngine 全局上下文是同一份数据但不受 React 树位置影响。
 */
export declare function useCurrentRoles(): CurrentRoleOption[];
/**
 * client-v2 使用的内建插件集合。
 *
 * 只迁移当前 v2 运行时仍然需要的部分，显式跳过 schemaInitializerManager 以及用户标注暂不迁移的旧插件注册逻辑。
 */
export declare class NocoBaseBuildInPlugin extends Plugin<any, Application> {
    afterAdd(): Promise<void>;
    load(): Promise<void>;
    addRoutes(): void;
    addComponents(): void;
    addPlugins(): Promise<void>;
}
export { NocoBaseBuildInPlugin as NocoBaseBuildInPluginV2 };
