/** * Feature Flag Store Integration * * Utilities for integrating feature flags with Zustand stores. * Implements the "pull" pattern where stores fetch from services. */ import type { FeatureFlagValue, FeatureFlagContext } from '@plyaz/types/features'; export type { CoreFeatureFlagServiceLike, CoreFeatureFlagFetcherOptions, CoreFeatureFlagStoreInitConfig, } from '@plyaz/types/core'; import type { CoreFeatureFlagFetcherOptions, CoreFeatureFlagStoreInitConfig } from '@plyaz/types/core'; /** * Create a fetchFn for feature flag store that uses ServiceRegistry. * * This bridges the ServiceRegistry with the store's callback-based pattern. * Use this for polling or manual refresh scenarios. * * @param options - Fetcher options * @returns A function compatible with store initialization * * @example * ```typescript * // Basic usage * const fetchFn = createFeatureFlagFetcher(); * * // With context * const fetchFn = createFeatureFlagFetcher({ * context: { userId: currentUser.id }, * }); * * // Use in store initializer * useFeatureFlagInitializer({ fetchFn }); * ``` */ export declare function createFeatureFlagFetcher(options?: CoreFeatureFlagFetcherOptions): () => Promise>; /** * Create full store initialization config with ServiceRegistry integration. * * @param options - Configuration options * @returns Config object for store initialization * * @example * ```typescript * const storeConfig = createFeatureFlagStoreConfig({ * context: { userId: user.id }, * defaults: { 'MY_FLAG': false }, * polling: { enabled: true, interval: 30000 }, * onFlagChange: (key, prev, next) => console.log(`${key}: ${prev} → ${next}`), * }); * * useFeatureFlagInitializer(storeConfig); * ``` */ export declare function createFeatureFlagStoreConfig(options: { serviceKey?: string; context?: FeatureFlagContext; defaults?: Record; polling?: { enabled?: boolean; interval?: number; }; onFlagChange?: (key: string, prevValue: FeatureFlagValue | undefined, newValue: FeatureFlagValue) => void; onError?: (error: unknown) => void; }): CoreFeatureFlagStoreInitConfig; //# sourceMappingURL=feature-flags.d.ts.map