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[];
}
