/**
 * Feature Flags (Statsig Feature Gates)
 *
 * Wraps Statsig feature gate checks with a simple API for the CLI.
 * Feature flags are evaluated locally after SDK initialization,
 * so checks are near-instant after the initial fetch.
 *
 * Usage:
 *   import { isEnabled } from '../lib/telemetry/feature-flags.js'
 *   if (isEnabled('new_board_view')) { ... }
 *
 * Feature flags require Statsig to be initialized (via initAnalytics).
 * If Statsig is unavailable or telemetry is disabled, all flags return false.
 */
interface StatsigClientRef {
    checkGate(gateName: string): boolean;
    getDynamicConfig(configName: string): {
        get(key: string, defaultValue: unknown): unknown;
    };
}
/**
 * Set the Statsig client reference (called from analytics.ts after init).
 * @internal
 */
export declare function setStatsigClient(client: StatsigClientRef | null): void;
/**
 * Check if a feature gate is enabled for the current machine.
 *
 * Uses Statsig's local evaluation (near-zero latency after init).
 * Returns false if Statsig is not initialized or telemetry is disabled.
 *
 * @param gateName - The feature gate name (e.g., 'new_board_view')
 * @returns Whether the gate is enabled
 */
export declare function isEnabled(gateName: string): boolean;
/**
 * Get a dynamic config value from Statsig.
 *
 * Useful for remote configuration (not just boolean flags).
 * Returns the default value if Statsig is unavailable.
 *
 * @param configName - The dynamic config name
 * @param key - The key within the config
 * @param defaultValue - Default value if unavailable
 * @returns The config value, or the default
 */
export declare function getConfigValue<T>(configName: string, key: string, defaultValue: T): T;
/**
 * Clear the local flag cache.
 * Useful for testing or when you want to force re-evaluation.
 */
export declare function clearFlagCache(): void;
export {};
