/**
 * 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 { DataSourceManager } from '../data-source';
import type { CollectionTemplate, CollectionTemplateFactory } from './CollectionTemplate';
export declare class CollectionTemplateManager {
    dataSourceManager: DataSourceManager;
    protected collectionTemplateInstances: Record<string, CollectionTemplate>;
    constructor(templateClasses: CollectionTemplateFactory[], dataSourceManager: DataSourceManager);
    addCollectionTemplates(templateClasses?: CollectionTemplateFactory[]): {};
    getCollectionTemplate<T extends CollectionTemplate>(name: string): T;
    getCollectionTemplates(dataSourceType?: string): CollectionTemplate[];
}
