export interface FeatureFlagDefinition { key: string; defaultValue?: false; displayName?: string; description?: string; } export declare function defineFeatureFlag(definition: FeatureFlagDefinition): FeatureFlagDefinition; export declare const CONNECT_APPS_FLAG: FeatureFlagDefinition; export declare const BUILDER_CREDIT_USAGE_REPORTING_FLAG: FeatureFlagDefinition; /** @deprecated The redesigned Settings is always on; nothing reads this flag. Kept one release so apps generated from older templates still build. */ export declare const SETTINGS_REDESIGN_FLAG: FeatureFlagDefinition; /** * Flags whose feature shipped to everyone. Apps generated from older templates * still read them to pick their layout, and an unregistered key reads false, * which would put them back on the removed path. `useFeatureFlag` and * `useFeatureFlagState` answer "on" for these; delete an entry when its * deprecated constant goes. */ export declare const RETIRED_ENABLED_FLAG_KEYS: ReadonlySet; export declare function defineFeatureFlags(definitions: readonly FeatureFlagDefinition[]): readonly FeatureFlagDefinition[]; export declare function registerFeatureFlags(definitions: readonly FeatureFlagDefinition[]): void; export declare function listFeatureFlags(): readonly FeatureFlagDefinition[]; export declare function getFeatureFlagDefinition(key: string): FeatureFlagDefinition | null; export declare function _resetFeatureFlagRegistryForTests(): void;