UNPKG

@thrivestack/analytics-browser

Version:

ThriveStack Analytics Platform - Comprehensive web analytics tracking with privacy-first approach

222 lines 5.39 kB
export interface ThriveStackOptions { apiKey: string; apiEndpoint?: string; trackClicks?: boolean; trackForms?: boolean; enableConsent?: boolean; batchSize?: number; batchInterval?: number; geoIpServiceUrl?: string; source?: string; sessionTimeout?: number; debounceDelay?: number; defaultConsent?: boolean; debug?: boolean; enableDeveloperLogs?: boolean; } export interface LocationInfo { city?: string | null; region?: string | null; country?: string | null; postal?: string | null; loc?: string | null; timezone?: string | null; country_code?: string | null; } export interface UTMParameters { utm_campaign?: string | null; utm_medium?: string | null; utm_source?: string | null; utm_term?: string | null; utm_content?: string | null; } export interface EventContext { device_id?: string | null; group_id?: string; session_id?: string; source?: string; } export interface EventProperties { page_title?: string; page_url?: string; page_path?: string; page_referrer?: string | null; language?: string | null; ip_address?: string | null; city?: string | null; region?: string | null; country?: string | null; postal?: string | null; loc?: string | null; timezone?: string | null; element_text?: string | null; element_tag?: string | null; element_id?: string | null; element_href?: string | null; element_aria_label?: string | null; element_class?: string | null; element_position_left?: number | null; element_position_top?: number | null; viewport_height?: number; viewport_width?: number; form_id?: string | null; form_name?: string | null; form_action?: string | null; form_fields?: number; form_completion?: number; interaction_time?: number | null; activity?: string | null; [key: string]: any; } export interface ThriveStackEvent { event_name: string; properties: EventProperties; user_id?: string; context: EventContext; timestamp: string; } export interface UserData { user_id: string; context: EventContext; traits: { user_email?: string; user_name?: string; [key: string]: any; }; timestamp: string; } export interface GroupData { group_id: string; user_id?: string; context: EventContext; traits: { group_type?: string; account_domain?: string; account_name?: string; [key: string]: any; }; timestamp: string; } export interface SessionData { sessionId: string; startTime: string; lastActivity: string; } export interface ConsentCategories { functional: boolean; analytics: boolean; marketing: boolean; } export interface InteractionHistoryItem { type: string; details: EventProperties; timestamp: string; sequence: number; } export interface SubscriptionStatus { status: string; timestamp: number; } export interface SubscriptionStatusResponse { status: string; [key: string]: any; } export interface ApiResponse { success: boolean; reason?: string; [key: string]: any; } export interface FingerprintJSResult { visitorId: string; [key: string]: any; } export interface FingerprintJSInstance { get(): Promise<FingerprintJSResult>; } export interface FormTrackingData { startTime: number; filledFields: Set<string>; } export interface ScriptAttributes { 'data-api-key'?: string; 'api-key'?: string; 'data-source'?: string; source?: string; 'data-track-clicks'?: string; 'track-clicks'?: string; 'data-track-forms'?: string; 'track-forms'?: string; 'data-respect-dnt'?: string; 'respect-dnt'?: string; 'data-enable-developer-logs'?: string; 'enable-developer-logs'?: string; } export interface EmailAbuseRequest { email: string; } export interface EmailAbuseApiResponse { isAbuse: number; reasonForAbuse: { isDisposable: boolean; domainExists: boolean; isDuplicate: boolean; }; } export interface EmailAbuseResponse { success: boolean; message?: string; data?: EmailAbuseApiResponse; } export interface IpLocationData { ip?: string; city?: string; region?: string; country?: string; country_code?: string; postal?: string; loc?: string; timezone?: string; [key: string]: any; } export interface DebugMode { enabled: boolean; logEvents?: boolean; } export interface ThriveStackError { message: string; code?: string; details?: any; } export interface TrackingConfig { enabled: boolean; categories: ConsentCategories; subscriptionStatus: string | null; } export interface DeviceInfo { deviceId: string | null; ready: boolean; source: 'fingerprintjs' | 'cookie' | 'random'; } export interface SessionInfo { sessionId: string; startTime: string; lastActivity: string; timeout: number; } export interface BatchConfig { size: number; interval: number; queue: ThriveStackEvent[]; } export interface UserInfo { userId: string; groupId: string; source: string; } export interface ApiEndpoints { track: string; identify: string; group: string; subscriptionStatus: string; } //# sourceMappingURL=types.d.ts.map