import { Package } from "@intelligentgraphics/ig.gfx.multiarticle";
import { ICatalogManager } from "./CatalogManager";
import { IProductDataManager } from "./ProductDataManager";
import { BackendManager } from "./BackendManager";
import { Backend } from "./Backend";
import { Operator } from "./Operator";
import { IConfigurationService } from "./ConfigurationService";
export interface ServiceManager extends BackendManager {
    getRegisteredSourceIds(): string[];
    getRegisteredSourceIdsForServerType(serverType: string): string[];
    setArticleSource(comId: string, sourceId: string): void;
    deleteArticleSource(comId: string): void;
    registerCatalogManager(sourceId: string, catalogManager: ICatalogManager): void;
    getCatalogManagerForSourceId(sourceId: string): ICatalogManager | undefined;
    getCatalogManagerForComId(comId: string): ICatalogManager | undefined;
    registerProductDataManager(sourceId: string, productDataManager: IProductDataManager): void;
    getProductDataManagerForSourceId(sourceId: string): IProductDataManager | undefined;
    getProductDataManagerForComId(comId: string): IProductDataManager | undefined;
    registerMultiArticles(sourceId: string, maPackage: Package): void;
    getMultiArticlesForSourceId(sourceId: string): Package | undefined;
    getMultiArticlesForComId(comId: string): Package | undefined;
    setSourceServerType(sourceId: string, serverType: string): void;
    getSourceServerType(sourceId: string): string | undefined;
    getSourceBackend(sourceId: string): Backend | undefined;
    getOperatorForSourceId(sourceId: string): Operator;
    getOperatorForComId(comId: string): Operator;
    registerOperator(sourceId: string, operator: Operator): void;
    registerConfigurationService(sourceId: string, service: IConfigurationService): void;
    getConfigurationServiceForSourceId(sourceId: string): IConfigurationService | undefined;
    getConfigurationServiceForComId(comId: string): IConfigurationService | undefined;
}
