/**
 * Analytics Bootstrap Component
 *
 * Client component that initializes analytics tracking for a Builder site.
 * Auto-tracks page views and provides helpers for tracking custom events.
 */
export type AnalyticsConfig = {
    /**
     * Site ID for analytics tracking
     */
    siteId: string;
    /**
     * Site slug for analytics tracking
     */
    siteSlug: string;
    /**
     * Analytics endpoint URL
     * @default '/api/analytics/collect'
     */
    endpoint?: string;
    /**
     * Custom session cookie name
     * @default 'builder_analytics_session'
     */
    sessionCookieName?: string;
    /**
     * Disable analytics tracking
     * @default false
     */
    disabled?: boolean;
};
export type AnalyticsClient = {
    track: (event: TrackEventInput) => Promise<void>;
    trackCtaClick: (metadata?: Record<string, unknown>) => Promise<void>;
    trackFormSubmit: (metadata?: Record<string, unknown>) => Promise<void>;
    destroy: () => void;
};
export type TrackEventInput = {
    eventType: string;
    metadata?: Record<string, unknown>;
};
/**
 * Analytics helpers returned by useAnalytics hook
 */
export type AnalyticsHelpers = {
    trackEvent: (event: TrackEventInput) => void;
    trackCtaClick: (metadata?: Record<string, unknown>) => void;
    trackFormSubmit: (metadata?: Record<string, unknown>) => void;
};
/**
 * Analytics Bootstrap component
 *
 * Place this component in your layout to enable analytics tracking.
 *
 * @example
 * ```tsx
 * import { AnalyticsBootstrap } from '@riverbankcms/sdk/analytics';
 *
 * export default function Layout({ children }) {
 *   return (
 *     <html>
 *       <body>
 *         {children}
 *         <AnalyticsBootstrap
 *           siteId="your-site-id"
 *           siteSlug="your-site-slug"
 *         />
 *       </body>
 *     </html>
 *   );
 * }
 * ```
 */
export declare function AnalyticsBootstrap(config: AnalyticsConfig): null;
/**
 * Hook for tracking analytics events
 *
 * @param config - Analytics configuration. Pass null to disable analytics.
 * @returns Analytics helpers for tracking events
 *
 * @example
 * ```tsx
 * 'use client';
 *
 * import { useAnalytics } from '@riverbankcms/sdk/analytics';
 *
 * export function MyComponent() {
 *   const analytics = useAnalytics({
 *     siteId: 'your-site-id',
 *     siteSlug: 'your-site-slug',
 *   });
 *
 *   const handleClick = () => {
 *     analytics.trackCtaClick({ buttonLabel: 'Sign Up' });
 *   };
 *
 *   return <button onClick={handleClick}>Sign Up</button>;
 * }
 * ```
 */
export declare function useAnalytics(config: AnalyticsConfig | null): AnalyticsHelpers;
