export type BehaviorOptions = boolean | { scroll?: boolean; clicks?: boolean; rageClicks?: boolean; }; export type AnalyticsEventType = "pageview" | "event" | "flag" | "scroll" | "click" | "rage_click" | "conversion"; export type AnalyticsPayload = { type: AnalyticsEventType; siteKey: string; ts: number; visitorId: string; path?: string; hostname?: string; referrer?: string; utm?: Record; name?: string; value?: string | boolean | number; userAgent?: string; sessionId?: string; viewport?: { w: number; h: number; }; depth?: number; x?: number; y?: number; element?: string; elementText?: string; }; export type AnalyticsConfig = { siteKey: string; endpoint?: string; debug?: boolean; /** Sent as X-Nexoxa-Collect-Secret when your collect route uses NEXOXA_COLLECT_SECRET */ collectSecret?: string; /** When true, no events until setAnalyticsConsent(true) — use with your cookie banner */ requireConsent?: boolean; /** Opt-in behavior tracking: scroll depth, clicks, rage clicks */ behavior?: BehaviorOptions; }; export declare function sanitizePath(path: string): string; export declare function setAnalyticsConsent(granted: boolean): void; export declare function canSend(): boolean; export declare function initAnalytics(options: AnalyticsConfig): void; export declare function getAnalyticsConfig(): AnalyticsConfig | null; export declare function getVisitorId(): string; export declare function getSessionId(): string; export declare function basePayload(type: AnalyticsEventType): AnalyticsPayload; export declare function send(payload: AnalyticsPayload): void; export declare function trackPageview(): void; export declare function track(name: string, properties?: Record): void; export declare function flag(name: string, value?: string | boolean): void; export declare function trackConversion(name: string, properties?: Record): void; export declare function sendBehaviorEvent(type: "scroll" | "click" | "rage_click", fields: Partial): void; //# sourceMappingURL=core.d.ts.map