/** * Section metadata for tracking */ interface SectionMeta { id: string; label: string; order: number; type?: string; } /** * Tracking configuration */ interface UseTrackingOptions { /** Presentation ID for analytics */ presentationId: string; /** Access link ID (if using access control) */ accessLinkId?: string; /** Section metadata */ sections: SectionMeta[]; /** API endpoint for sending events */ apiEndpoint?: string; /** Whether tracking is enabled */ enabled?: boolean; /** Viewer email for identity tracking */ viewerEmail?: string; } /** * React hook for presentation tracking * * Initializes the Brixon tracking SDK and provides methods for * custom event tracking. * * @example * ```tsx * const { trackEngagement, sessionId } = useTracking({ * presentationId: 'acme-pitch', * sections: [ * { id: 'hero', label: 'Introduction', order: 1 }, * { id: 'features', label: 'Features', order: 2 }, * ], * }) * * // Track custom engagement * trackEngagement('cta_click', { buttonId: 'contact' }) * ``` */ declare function useTracking(options: UseTrackingOptions): { trackEngagement: (interactionType: string, metadata?: Record) => void; sessionId: string; }; export { type SectionMeta, type UseTrackingOptions, useTracking };