import type { Compression, JsonType, PostHogConfig } from './types';
export interface FeatureFlagsConfig {
    readonly bootstrap: {
        readonly featureFlags?: Readonly<Record<string, string | boolean>>;
        readonly featureFlagPayloads?: Readonly<Record<string, JsonType>>;
    };
    readonly remoteRequestsDisabled: boolean;
    readonly featureFlagsDisabled: boolean;
    readonly onlyEvaluateSurveyFeatureFlags: boolean;
    readonly deduplicateCallsPerSession: boolean;
    readonly cacheTtlMs?: number;
    readonly refreshIntervalMs?: number;
    readonly requestTimeoutMs: number;
    readonly compression?: Compression | 'best-available';
    readonly evaluationContexts: readonly string[];
    readonly flagKeys?: readonly string[];
}
export interface FeatureFlagsConfigSource {
    get(): Readonly<FeatureFlagsConfig>;
}
/** Mutable browser-v1 mapping kept outside the extension-facing config source. */
export declare class MutableFeatureFlagsConfigSource implements FeatureFlagsConfigSource {
    private _snapshot;
    private _loggedEvaluationEnvironmentsDeprecation;
    constructor(config: PostHogConfig, remoteRequestsDisabled?: boolean);
    update(config: PostHogConfig, remoteRequestsDisabled: boolean): void;
    get(): Readonly<FeatureFlagsConfig>;
}
