@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
31 lines (29 loc) • 1.53 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* 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;
}