/** * surface-feature-flags, which platform capabilities a surface/server setup * needs, and how to switch them on through their real domain settings keys. * * Capabilities are configured through first-class domain settings (see * feature-settings.ts); enabling a surface writes keys like * `controlPlane.gateway` or `surfaces.slack.enabled`, never a separate * enablement namespace. */ import type { ConfigManager } from '../config/index.js'; export declare const CONTROL_PLANE_FEATURE_FLAG = "control-plane-gateway"; export declare const ROUTE_BINDING_FEATURE_FLAG = "route-binding"; export declare const DELIVERY_ENGINE_FEATURE_FLAG = "delivery-engine"; export declare const SERVICE_MANAGEMENT_FEATURE_FLAG = "service-management"; export declare function getSurfaceFeatureFlag(surfaceId: string): string | null; export declare function getServerSurfaceFeatureFlags(options: { readonly serverBacked?: boolean; readonly web?: boolean; readonly externalSurfaces?: readonly string[]; }): readonly string[]; /** Whether the live config has the capability on, derived from its domain settings key. */ export declare function isFeatureFlagEnabled(config: Pick, flagId: string): boolean; /** * Translate internal feature-gate ids (e.g. 'control-plane-gateway') to the * canonical domain settings keys the user actually sets (e.g. * 'controlPlane.gateway'), matching the SDK's own gate errors, which name the * settings key. A gate with no mapped setting falls back to its id. Deduped and * sorted for stable output. */ export declare function surfaceFeatureGateSettingsKeys(flagIds: readonly string[]): string[]; export declare function getMissingSurfaceFeatureFlags(config: Pick, surfaceId: string): readonly string[]; /** Switch each capability on by writing its real enablement settings key. */ export declare function enableFeatureFlags(config: Pick, flagIds: readonly string[]): void; //# sourceMappingURL=surface-feature-flags.d.ts.map