import { Event } from '../../../util/vs/base/common/event'; /** * An event describing the change in treatments. */ export interface TreatmentsChangeEvent { /** * List of changed treatments */ affectedTreatmentVariables: string[]; } /** * Experimentation service provides A/B experimentation functionality. * Currently it's per design to be able to only allow querying one flight at the time. * This is in order for us to control events and telemetry whenever these methods are called. */ export interface IExperimentationService { readonly _serviceBrand: undefined; /** * Emitted whenever a treatment values have changes based on user account information or refresh. */ onDidTreatmentsChange: Event; /** * Promise that resolves when the experimentation service has completed * its first request to the Treatment Assignment Service. If this request * is successful, flights are up-to-date. Flights can change when the user * changes their account. */ hasTreatments(): Promise; /** * Returns the value of the treatment variable, or undefined if not found. * It uses the values currently in memory, so the experimentation service * must be initialized before calling. * @param name name of the treatment variable. */ getTreatmentVariable(name: string): T | undefined; /** * Sets the filters for the completions experiments. * @param filters Map of filter names to their values. * @deprecated This will be removed once we have fully migrated to the new completions implementation. */ setCompletionsFilters(filters: Map): void; } export declare const IExperimentationService: import("../../../util/common/services").ServiceIdentifier; export declare class NullExperimentationService implements IExperimentationService { readonly _serviceBrand: undefined; private readonly _onDidTreatmentsChange; readonly onDidTreatmentsChange: Event; hasTreatments(): Promise; hasAccountBasedTreatments(): Promise; getTreatmentVariable(_name: string): T | undefined; setCompletionsFilters(filters: Map): Promise; } //# sourceMappingURL=nullExperimentationService.d.ts.map