import { TrackingCallback, ClientOptions, InitOptions, StickyBucketService, Attributes, GrowthBookClient } from '@growthbook/growthbook'; export { Attributes, ClientOptions, FeatureApiResponse, GrowthBookClient, InitOptions, StickyAssignmentsDocument, StickyBucketService, TrackingCallback, TrackingCallbackWithUser, UserContext } from '@growthbook/growthbook'; import { Adapter } from 'flags'; export { getProviderData } from './provider/index.js'; type EdgeConfig = { connectionString: string; /** Defaults to `options.clientKey` **/ itemKey?: string; }; type AdapterResponse = { feature: () => Adapter; initialize: () => Promise; refresh: () => Promise; setTrackingCallback: (cb: TrackingCallback) => void; setStickyBucketService: (stickyBucketService: StickyBucketService) => void; stickyBucketService?: StickyBucketService; growthbook: GrowthBookClient; }; /** * Create a GrowthBook adapter for use with the Flags SDK. */ declare function createGrowthbookAdapter(options: { /** GrowthBook SDK key **/ clientKey: string; /** Callback to log experiment exposures **/ trackingCallback?: TrackingCallback; /** Override the features API endpoint for self-hosted users **/ apiHost?: string; /** Override the application URL for self-hosted users **/ appOrigin?: string; /** Optional GrowthBook SDK constructor options **/ clientOptions?: ClientOptions; /** Optional GrowthBook SDK init() options **/ initOptions?: InitOptions; /** Optional StickyBucketService (reduces variation hopping, required for Bandits) **/ stickyBucketService?: StickyBucketService; /** Provide Edge Config details to use the optional Edge Config adapter */ edgeConfig?: EdgeConfig; }): AdapterResponse; declare function resetDefaultGrowthbookAdapter(): void; /** * Equivalent to `createGrowthbookAdapter` but with default environment variable names. * * Required: * - `GROWTHBOOK_CLIENT_KEY` - GrowthBook SDK key * * Optional: * - `GROWTHBOOK_API_HOST` - Override the SDK API endpoint for self-hosted users * - `GROWTHBOOK_APP_ORIGIN` - Override the application URL for self-hosted users * - `GROWTHBOOK_EDGE_CONNECTION_STRING` - Edge Config connection string * - `EXPERIMENTATION_CONFIG` - fallback for GROWTHBOOK_EDGE_CONNECTION_STRING * - `GROWTHBOOK_EDGE_CONFIG_ITEM_KEY` - Override the item key for Edge Config (defaults to GROWTHBOOK_CLIENT_KEY) */ declare function getOrCreateDefaultGrowthbookAdapter(): AdapterResponse; /** * The default GrowthBook adapter. * * This is a convenience object that pre-initializes the GrowthBook SDK, provides * an adapter function for features, and provides a hook to set the experiment exposure * tracking callback. * * This is the recommended way to use the GrowthBook adapter. * * ```ts * // flags.ts * import { flag } from 'flags/next'; * import { growthbookAdapter } from '@flags-sdk/growthbook'; * * const flag = flag({ * key: 'my-flag', * defaultValue: false, * adapter: growthbookAdapter.feature(), * }); * ``` */ declare const growthbookAdapter: AdapterResponse; export { createGrowthbookAdapter, getOrCreateDefaultGrowthbookAdapter, growthbookAdapter, resetDefaultGrowthbookAdapter };