import type { DataSourceManager } from '../data-source';
import type { CollectionFieldInterface, CollectionFieldInterfaceFactory } from './CollectionFieldInterface';
export declare class CollectionFieldInterfaceManager {
    dataSourceManager: DataSourceManager;
    protected collectionFieldInterfaceInstances: Record<string, CollectionFieldInterface>;
    protected collectionFieldGroups: Record<string, {
        label: string;
        order?: number;
    }>;
    constructor(fieldInterfaceClasses: CollectionFieldInterfaceFactory[], fieldInterfaceGroups: Record<string, {
        label: string;
        order?: number;
    }>, dataSourceManager: DataSourceManager);
    addFieldInterfaces(fieldInterfaceClasses?: CollectionFieldInterfaceFactory[]): void;
    getFieldInterface<T extends CollectionFieldInterface>(name: string): T;
    getFieldInterfaces(dataSourceType?: string): CollectionFieldInterface[];
    addFieldInterfaceGroups(groups: Record<string, {
        label: string;
        order?: number;
    }>): void;
    getFieldInterfaceGroups(): Record<string, {
        label: string;
        order?: number;
    }>;
    getFieldInterfaceGroup(name: string): {
        label: string;
        order?: number;
    };
}
