/**
 * Centralized feature flag service for consistent flag resolution
 * Priority: Environment variable > config.json > default (false)
 */
import { FeatureFlags, FlagName } from "./flagRegistry.js";
/**
 * Service for managing and resolving feature flags from multiple sources
 */
export declare class FeatureFlagService {
    private static instance;
    private cache;
    private initialized;
    private constructor();
    /**
     * Get singleton instance
     */
    static getInstance(): FeatureFlagService;
    /**
     * Initialize feature flags from all sources
     * Must be called before using any feature flags
     */
    initialize(): Promise<void>;
    /**
     * Generic method to check if a flag is enabled
     * @throws Error if service not initialized
     */
    isFlagEnabled(flagName: FlagName): boolean;
    /**
     * Check if MCP Logger is enabled
     * @throws Error if service not initialized
     */
    isMcpLoggerEnabled(): boolean;
    /**
     * Check if Setup Wizard is enabled
     * @throws Error if service not initialized
     */
    isSetupWizardEnabled(): boolean;
    /**
     * Check if DXT is enabled
     * @throws Error if service not initialized
     */
    isDxtEnabled(): boolean;
    /**
     * Check if Config Tools Menu is enabled
     * @throws Error if service not initialized
     */
    isConfigToolsMenuEnabled(): boolean;
    /**
     * Get all feature flags
     * @throws Error if service not initialized
     */
    getAllFlags(): FeatureFlags;
    /**
     * Reset the service (mainly for testing)
     */
    reset(): void;
    /**
     * Force set a feature flag (mainly for testing)
     * Note: This bypasses normal resolution and should only be used in tests
     */
    forceSet(flagName: FlagName, value: boolean): void;
}
/**
 * Convenience function to get the singleton instance
 */
export declare function getFeatureFlagService(): FeatureFlagService;
/**
 * Convenience function to check if MCP Logger is enabled
 * Ensures the service is initialized before checking
 */
export declare function isMcpLoggerEnabledViaService(): Promise<boolean>;
/**
 * Convenience function to check if Setup Wizard is enabled
 * Ensures the service is initialized before checking
 */
export declare function isSetupWizardEnabledViaService(): Promise<boolean>;
/**
 * Convenience function to check if DXT is enabled
 * Ensures the service is initialized before checking
 */
export declare function isDxtEnabledViaService(): Promise<boolean>;
/**
 * Convenience function to check if Config Tools Menu is enabled
 * Ensures the service is initialized before checking
 */
export declare function isConfigToolsMenuEnabledViaService(): Promise<boolean>;
//# sourceMappingURL=featureFlagService.d.ts.map