/**
 * 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 { SchemaInitializer } from './SchemaInitializer';
/**
 * @deprecated - 该类仅用于兼容旧版 name，不推荐在新插件中使用
 *
 * 因为需要把 SchemaInitializer 的 name 统一为一致的命名风格，统一之后新创建的 Schema 将
 * 使用新的命名风格，而旧的 Schema 仍然使用旧的命名风格，这样会导致一些问题。所以需要有一个方法
 * 可以确保旧版的 name 也可以正常工作，直到旧的 Schema 被移除。该类就是用来兼容旧 name 的：
 *
 * 1. 在新版实例中通过接收旧版 name 的实例，在新版实例变更后，同步变更旧版实例；
 * 2. 在旧版实例中也接收新版 name 的实例，当旧版实例变更后，同步变更新版实例，这样可以保证在插件中即使不把旧版改成新版也能正常运行；
 */
export declare class CompatibleSchemaInitializer extends SchemaInitializer {
    /**
     * 需要同步变更的另一个实例
     */
    otherInstance: CompatibleSchemaInitializer;
    constructor(options: any, otherInstance?: CompatibleSchemaInitializer);
    add(name: string, item: any): void;
    remove(nestedName: string): void;
}
/**
 * 由于旧版的 schema 的 x-initializer 的值是旧的命名风格，当其与新的命名比较时就存在问题，
 * 这里通过将新版命名转换为旧版命名再进行比较，以解决这个问题。
 * @param oldOrNewName x-initializer 的值
 * @param newName 新的命名
 */
export declare function isInitializersSame(oldOrNewName: string, newName: string): boolean;
