posthog-js
Version:
Posthog-js allows you to automatically capture usage and send events to PostHog.
29 lines (28 loc) • 1.28 kB
TypeScript
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>;
}