import { FeatureFlagConfig } from '../data/types.d.js';
import { FeatureFlagKey, FeatureFlagEvaluationSubject } from '../utils/featureFlagsHelper.js';

declare class FeatureFlagService {
    private readonly clientConfig;
    private clientPromise;
    constructor(config?: FeatureFlagConfig | Record<string, unknown>);
    private getClient;
    refresh(): Promise<void>;
    evaluateBooleanFlag(flagKey: FeatureFlagKey, subject: FeatureFlagEvaluationSubject): Promise<boolean>;
    evaluateBooleanFlags<TFlag extends FeatureFlagKey>(flagKeys: readonly TFlag[], subject: FeatureFlagEvaluationSubject): Promise<Record<TFlag, boolean>>;
}

export { FeatureFlagService };
