UNPKG

@sussudio/platform

Version:

Internal APIs for VS Code's service injection the base services.

31 lines (29 loc) 1.53 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import type { IExperimentationTelemetry, ExperimentationService as TASClient, IKeyValueStorage } from 'tas-client-umd'; import { IConfigurationService } from '../../configuration/common/configuration.mjs'; import { IProductService } from '../../product/common/productService.mjs'; import { IAssignmentService } from './assignment.mjs'; export declare abstract class BaseAssignmentService implements IAssignmentService { private readonly getMachineId; protected readonly configurationService: IConfigurationService; protected readonly productService: IProductService; protected telemetry: IExperimentationTelemetry; private keyValueStorage?; _serviceBrand: undefined; protected tasClient: Promise<TASClient> | undefined; private networkInitialized; private overrideInitDelay; protected get experimentsEnabled(): boolean; constructor( getMachineId: () => Promise<string>, configurationService: IConfigurationService, productService: IProductService, telemetry: IExperimentationTelemetry, keyValueStorage?: IKeyValueStorage | undefined, ); getTreatment<T extends string | number | boolean>(name: string): Promise<T | undefined>; private setupTASClient; }