/**
 * Feature flags for the web UI.
 *
 * DB-primary resolution: reads from Settings.featureFlags when available,
 * falls back to NEXT_PUBLIC_ environment variables.
 * The debug flag is DB-only (no env var fallback).
 */
export interface FeatureFlagsState {
    envDeploy: boolean;
    debug: boolean;
    reactFileManager: boolean;
    projects: boolean;
    codeReview: boolean;
    collaboration: boolean;
    bedrockIntegration: boolean;
}
export declare function getFeatureFlags(): FeatureFlagsState;
/**
 * Error thrown by {@link requireFeatureFlag} when a flag is disabled.
 * Server actions catch this and translate it into `{ ok: false, error }`
 * so callers see a clear "feature off" message instead of a 500.
 */
export declare class FeatureFlagDisabledError extends Error {
    readonly flag: keyof FeatureFlagsState;
    constructor(flag: keyof FeatureFlagsState);
}
/**
 * Throws {@link FeatureFlagDisabledError} when the named flag is off.
 * Use at the top of every server action / API route handler that should
 * be reachable only when its feature is enabled — even hidden surfaces
 * still expose POST endpoints anyone with the URL can hit.
 */
export declare function requireFeatureFlag(flag: keyof FeatureFlagsState): void;
/**
 * @deprecated Use getFeatureFlags() instead for DB-primary resolution.
 * Kept for backward compatibility during migration.
 */
export declare const featureFlags: {
    readonly envDeploy: boolean;
    readonly debug: boolean;
    readonly reactFileManager: boolean;
    readonly projects: boolean;
    readonly codeReview: boolean;
    readonly collaboration: boolean;
    readonly bedrockIntegration: boolean;
};
//# sourceMappingURL=feature-flags.d.ts.map