/** * Grain Analytics React Hooks * * React integration for @grainql/analytics-web * * @example * ```tsx * import { GrainProvider, useConfig, useTrack } from '@grainql/analytics-web/react'; * * // Pattern 1: Provider-managed client * * * * * // Pattern 2: External client * const grain = new GrainAnalytics({ tenantId: 'xxx' }); * * * * * // Use hooks in components * function MyComponent() { * const { value } = useConfig('hero_variant'); * const track = useTrack(); * * return ; * } * ``` */ export { GrainProvider } from './GrainProvider'; export { useGrainAnalytics } from './hooks/useGrainAnalytics'; export { useConfig } from './hooks/useConfig'; export { useAllConfigs } from './hooks/useAllConfigs'; export { useTrack } from './hooks/useTrack'; export { useConsent } from './hooks/useConsent'; export { usePrivacyPreferences } from './hooks/usePrivacyPreferences'; export { useDataDeletion } from './hooks/useDataDeletion'; export { ConsentBanner } from './components/ConsentBanner'; export { PrivacyPreferenceCenter } from './components/PrivacyPreferenceCenter'; export { CookieNotice } from './components/CookieNotice'; export type { GrainProviderProps, UseConfigOptions, UseConfigResult, UseAllConfigsOptions, UseAllConfigsResult, TrackFunction, } from './types'; export type { ConsentBannerProps } from './components/ConsentBanner'; export type { PrivacyPreferenceCenterProps } from './components/PrivacyPreferenceCenter'; export type { CookieNoticeProps } from './components/CookieNotice'; export type { PrivacyPreferences } from './hooks/usePrivacyPreferences'; export type { DataDeletionOptions } from './hooks/useDataDeletion'; //# sourceMappingURL=index.d.ts.map