import { PostHogOptions } from 'posthog-node'; import { Adapter, ProviderData } from 'flags'; type JsonType = string | number | boolean | null | { [key: string]: JsonType; } | Array; interface PostHogEntities { distinctId: string; } /** * A PostHog adapter for the Flags SDK. * * Call it (or pass it uninvoked, e.g. `adapter: postHogAdapter`) to read a * flag's evaluated value. Use `.payload` to read the flag's attached payload * instead. Both forms participate in bulk evaluation via `evaluate()`. */ type PostHogAdapter = (() => Adapter) & { payload: () => Adapter; }; declare function getProviderData(options: { personalApiKey: string; projectId: string; appHost?: string; }): Promise; declare function createPostHogAdapter({ postHogKey, postHogOptions, }: { postHogKey: string; postHogOptions: PostHogOptions; }): PostHogAdapter; /** * Internal function for testing purposes */ declare function resetDefaultPostHogAdapter(): void; /** * The default PostHog adapter, initialized lazily from environment variables on * first use. Pass it uninvoked (`adapter: postHogAdapter`) or invoked * (`adapter: postHogAdapter()`) to read a flag's value, or use * `postHogAdapter.payload` to read the flag's attached payload. */ declare const postHogAdapter: PostHogAdapter; export { type JsonType, type PostHogEntities, createPostHogAdapter, getProviderData, postHogAdapter, resetDefaultPostHogAdapter };