import { IAdaptableService } from './IAdaptableService';
import { AdaptableObject } from '../../../AdaptableState/Common/AdaptableObject';
import { AdaptableModule } from '../../../AdaptableState/Common/Types';
import { AdaptableSharedEntityConfig, SharedEntityActiveStatus, TeamSharingImportStep, AdaptableSharedEntity, CustomSharedEntityConfig, CustomSharedEntity } from '../../../AdaptableState/TeamSharingState';
import { TypeUuid } from '../../../AdaptableState/Uuid';
export interface ITeamSharingService extends IAdaptableService {
    buildSharedEntityWithDependencies(adaptableObject: AdaptableObject, module: AdaptableModule, configuration: AdaptableSharedEntityConfig): AdaptableSharedEntity[];
    getSharedEntityDependants(sharedEntityId: TypeUuid, sharedEntities: AdaptableSharedEntity[]): AdaptableSharedEntity[];
    updateActiveSharedEntity(changedAdaptableObject: AdaptableObject, userName: string, sharedEntities: AdaptableSharedEntity[]): [AdaptableSharedEntity[], AdaptableSharedEntity[]];
    buildSharedEntityImportActions(sharedEntity: AdaptableSharedEntity): [TeamSharingImportStep[], boolean];
    getSharedEntityLocalAndRemoteRevisions(changedAdaptableObjectId: TypeUuid, remoteSharedEntities: AdaptableSharedEntity[]): any;
    getStaleActiveSharedEntities(): SharedEntityActiveStatus;
    showUpdateNotifications(): void;
    buildCustomSharedEntity(Entity: any, Configuration: CustomSharedEntityConfig): CustomSharedEntity;
}
