/** * @license * Copyright 2026 Google LLC * SPDX-License-Identifier: Apache-2.0 */ /** * Feature names. */ export declare enum FeatureName { PROGRESSIVE_SSE_STREAMING = "PROGRESSIVE_SSE_STREAMING" } /** * Feature lifecycle stages. */ export declare enum FeatureStage { WIP = "wip", EXPERIMENTAL = "experimental", STABLE = "stable" } /** * Feature configuration. */ export interface FeatureConfig { stage: FeatureStage; defaultOn: boolean; } /** * Get the configuration of a feature from the registry. * * @param featureName The feature name. * @returns The feature config from the registry, or undefined if not found. */ export declare function getFeatureConfig(featureName: FeatureName): FeatureConfig | undefined; /** * Register a feature with a specific config. * * @param featureName The feature name. * @param config The feature config to register. */ export declare function registerFeature(featureName: FeatureName, config: FeatureConfig): void; /** * Programmatically override a feature's enabled state. * * This override takes highest priority, superseding environment variables * and registry defaults. * * @param featureName The feature name to override. * @param enabled Whether the feature should be enabled. */ export declare function overrideFeatureEnabled(featureName: FeatureName, enabled: boolean | undefined): void; /** * Check if a feature is enabled at runtime. * * Priority order (highest to lowest): * 1. Programmatic overrides * 2. Environment variables (ADK_ENABLE_* / ADK_DISABLE_*) * 3. Registry defaults * * @param featureName The feature name. * @returns True if the feature is enabled, false otherwise. */ export declare function isFeatureEnabled(featureName: FeatureName): boolean; /** * Temporarily overrides a feature for the duration of a callback. */ export declare function withTemporaryFeatureOverride(featureName: FeatureName, enabled: boolean, callback: () => Promise | T): Promise;