/** * @module * This module exports the FeatureFlagService class which creates * an service instance. It can be used to query, set, delete flags. * Also it can be used to validate the flags. */ import type { AppConfigurationClient, FeatureFlagServiceOptions } from "./utils/app-config.js"; import type { FeatureFlag, FeatureFlagVariant, FeatureFlagWithFiltersValidateOptions, FeatureFlagWithVariantsValidateOptions, FeatureFlagsRecord } from "./types.js"; import { AppConfigurationClientLite } from "./client.js"; export type { FeatureFlagServiceOptions } from "./utils/app-config.js"; export type { FeatureFlag, FeatureFlagsRecord, FeatureFlagVariant, FeatureFlagVariantName, FeatureFlagWithFiltersValidateOptions, FeatureFlagWithVariantsValidateOptions, } from "./types.js"; /** * Class based service for all Azure FeatureFlag. * * @example * ```ts * import { AppConfigurationClientLite } from "azure-feature-flags/client"; * import { FeatureFlagService } from "azure-feature-flags" * * const connectionString = process.env.AZURE_CONFIG_ACCESS_STRING; * const client = new AppConfigurationClientLite(connectionString); * const service = new FeatureFlagService(client); * * const created = await service.set({ id: "flag-id", enabled: true }); * const featureFlagsRecord = await service.getAllAsRecord(); * const featureFlagsList = await service.getAllAsList(); * const featureFlag = await service.getByKey("flag-id"); * const enabledOrVariant = await service.getByKeyAndValidate("flag-id", { groups: ["admin"] }); * const deleted = await service.delete("flag-id") * ``` */ export declare class FeatureFlagService { #private; constructor(client: AppConfigurationClientLite | AppConfigurationClient); getAllAsRecord(options?: FeatureFlagServiceOptions): Promise; getAllAsList(options?: FeatureFlagServiceOptions): Promise; getByKey(key: string, options?: FeatureFlagServiceOptions): Promise; set(featureFlag: FeatureFlag, options?: FeatureFlagServiceOptions): Promise; delete(key: string, label?: string): Promise; getByKeyAndValidate(key: string, options: FeatureFlagWithFiltersValidateOptions | FeatureFlagWithVariantsValidateOptions): Promise; }