UNPKG

@tantainnovative/ndpr-toolkit

Version:

Nigerian Data Protection Compliance Toolkit for implementing NDPR and DPA compliant features

35 lines 1.31 kB
import React, { ReactNode } from 'react'; export interface ConsentCategories { necessary: boolean; analytics: boolean; marketing: boolean; functional: boolean; [key: string]: boolean; } export interface ConsentState { hasUserConsented: boolean; consentState: ConsentCategories; showBanner: boolean; showSettings: boolean; } export interface ConsentActions { acceptAll: () => void; rejectAll: () => void; savePreferences: (preferences: Partial<ConsentCategories>) => void; openSettings: () => void; closeSettings: () => void; updateConsent: (category: keyof ConsentCategories, value: boolean) => void; } export interface ConsentContextValue extends ConsentState, ConsentActions { } declare const ConsentContext: React.Context<ConsentContextValue | undefined>; export interface ConsentProviderProps { children: ReactNode; initialConsent?: Partial<ConsentCategories>; onConsentChange?: (consent: ConsentCategories) => void; storageKey?: string; } export declare function ConsentProvider({ children, initialConsent, onConsentChange, storageKey, }: ConsentProviderProps): import("react/jsx-runtime").JSX.Element; export declare function useConsent(): ConsentContextValue; export { ConsentContext }; //# sourceMappingURL=ConsentContext.d.ts.map