@tantainnovative/ndpr-toolkit
Version:
Nigerian Data Protection Compliance Toolkit for implementing NDPR and DPA compliant features
35 lines • 1.31 kB
TypeScript
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