/** * React wrapper for Keksmeister Web Components. * * Usage: * import { KeksmeisterBanner, KeksmeisterTrigger } from 'keksmeister/react'; * * function App() { * return ( * <> * console.log(record), * }} * /> * * * ); * } * * Note: This wrapper has zero React dependencies at build time. * It uses the global React types and expects React to be available at runtime. */ import type { KeksmeisterConfig } from '../core/types.js'; /** Props for the KeksmeisterBanner React component. */ export interface KeksmeisterBannerProps { /** Full Keksmeister configuration. */ config?: KeksmeisterConfig; /** Privacy policy URL (shorthand, used when config is not provided). */ privacyUrl?: string; /** Language code or translations object. */ lang?: string; /** Config revision for re-consent. */ revision?: string; /** Called when the banner closes (consent given or dismissed). */ onClose?: () => void; } /** Props for the KeksmeisterTrigger React component. */ export interface KeksmeisterTriggerProps { /** Position of the floating button. */ position?: 'bottom-left' | 'bottom-right'; /** CSS selector for the banner element. */ bannerSelector?: string; /** Accessible label. */ label?: string; } /** * React component that wraps . * * Handles the config-as-object pattern that Web Components don't natively * support via HTML attributes. */ export declare function KeksmeisterBanner(props: KeksmeisterBannerProps): unknown; /** * React component that wraps . */ export declare function KeksmeisterTrigger(props: KeksmeisterTriggerProps): unknown;