import { IModule, ModuleInfo, IModuleCollection } from '../../../Strategy/Interface/IModule';
import { TeamSharingImportInfo } from '../../../PredefinedConfig/TeamSharingState';
import { AdaptableObject } from '../../../PredefinedConfig/Common/AdaptableObject';
import { IAdaptableService } from './IAdaptableService';
import { AdaptableModule } from '../../../PredefinedConfig/Common/Types';
export interface IModuleService extends IAdaptableService {
    isModuleAvailable(adaptableModule: AdaptableModule): boolean;
    isModuleEditable(adaptableModule: AdaptableModule): boolean;
    createModuleMenus(): void;
    getTeamSharingAction(adaptableModule: AdaptableModule): TeamSharingImportInfo<AdaptableObject> | undefined;
    getModuleById<T = IModule>(adaptableModule: AdaptableModule): T | undefined;
    getModuleInfoByModule(adaptableModule: AdaptableModule): ModuleInfo | undefined;
    getModuleInfoByFriendlyName(friendlyName: string): ModuleInfo | undefined;
    getModuleDocumentationPageByModule(adaptableModule: AdaptableModule): string;
    getPopupMaxWidth(adaptableModule: AdaptableModule): number | undefined;
    getModuleCollection(): IModuleCollection;
}
