/*---------------------------------------------------------------------------------------------
 *  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;
}
