export { default as analyticsComponent } from './convex.config.js'; export { C as ConvexAnalyticsClient, a as ConvexAnalyticsStoreOptions, c as createConvexAnalyticsStore, d as deleteUserData, g as getCohortAnalysis, b as getDeviceBreakdown, e as getEvents, f as getFunnelResults, h as getPageViews, i as getRealtimeStats, j as getSessionReplay, k as getTopPages, l as identifyUser, p as purgeExpiredData, s as setUserProperties, m as storeCohortAnalysis, n as storeFunnelResult, o as storeSessionReplay, t as trackEvent, q as trackPageView } from './store-Cm_Zj7yd.js'; import * as convex_server from 'convex/server'; import * as convex_values from 'convex/values'; import '@geenius/analytics'; /** Convex validator for persisted analytics event rows. */ declare const analyticsEventSchema: convex_values.VObject<{ properties?: Record | undefined; userId?: string | undefined; traits?: Record | undefined; id: string; type: string; device: { browser: string; os: string; device: "desktop" | "tablet" | "mobile"; screenWidth: number; screenHeight: number; language: string; }; sessionId: string; name: string; url: string; referrer: string; timestamp: number; }, { id: convex_values.VString; sessionId: convex_values.VString; name: convex_values.VString; type: convex_values.VString; properties: convex_values.VRecord | undefined, convex_values.VString, convex_values.VUnion, convex_values.VBoolean, convex_values.VFloat64, convex_values.VString], "required", never>, "optional", string>; url: convex_values.VString; referrer: convex_values.VString; userId: convex_values.VString; traits: convex_values.VRecord | undefined, convex_values.VString, convex_values.VUnion, convex_values.VBoolean, convex_values.VFloat64, convex_values.VString], "required", never>, "optional", string>; device: convex_values.VObject<{ browser: string; os: string; device: "desktop" | "tablet" | "mobile"; screenWidth: number; screenHeight: number; language: string; }, { browser: convex_values.VString; os: convex_values.VString; device: convex_values.VUnion<"desktop" | "tablet" | "mobile", [convex_values.VLiteral<"desktop", "required">, convex_values.VLiteral<"tablet", "required">, convex_values.VLiteral<"mobile", "required">], "required", never>; screenWidth: convex_values.VFloat64; screenHeight: convex_values.VFloat64; language: convex_values.VString; }, "required", "browser" | "os" | "device" | "screenWidth" | "screenHeight" | "language">; timestamp: convex_values.VFloat64; }, "required", "id" | "type" | "device" | "sessionId" | "name" | "properties" | "url" | "referrer" | "userId" | "traits" | "timestamp" | "device.browser" | "device.os" | "device.device" | "device.screenWidth" | "device.screenHeight" | "device.language" | `properties.${string}` | `traits.${string}`>; /** Convex validator for persisted analytics page-view rows. */ declare const pageViewSchema: convex_values.VObject<{ properties?: Record | undefined; userId?: string | undefined; duration?: number | undefined; sessionId: string; url: string; referrer: string; timestamp: number; title: string; }, { url: convex_values.VString; title: convex_values.VString; referrer: convex_values.VString; properties: convex_values.VRecord | undefined, convex_values.VString, convex_values.VUnion, convex_values.VBoolean, convex_values.VFloat64, convex_values.VString], "required", never>, "optional", string>; duration: convex_values.VFloat64; sessionId: convex_values.VString; userId: convex_values.VString; timestamp: convex_values.VFloat64; }, "required", "sessionId" | "properties" | "url" | "referrer" | "userId" | "timestamp" | `properties.${string}` | "title" | "duration">; /** Convex validator for funnel-step definitions stored alongside funnel analyses. */ declare const funnelStepSchema: convex_values.VObject<{ properties?: Record | undefined; name: string; event: string; }, { name: convex_values.VString; event: convex_values.VString; properties: convex_values.VRecord | undefined, convex_values.VString, convex_values.VUnion, convex_values.VBoolean, convex_values.VFloat64, convex_values.VString], "required", never>, "optional", string>; }, "required", "name" | "properties" | `properties.${string}` | "event">; /** Convex validator for evaluated funnel-step output. */ declare const funnelStepResultSchema: convex_values.VObject<{ name: string; event: string; count: number; dropoffRate: number; conversionRate: number; }, { name: convex_values.VString; event: convex_values.VString; count: convex_values.VFloat64; dropoffRate: convex_values.VFloat64; conversionRate: convex_values.VFloat64; }, "required", "name" | "event" | "count" | "dropoffRate" | "conversionRate">; /** Convex validator for complete funnel-analysis records. */ declare const funnelResultSchema: convex_values.VObject<{ name: string; steps: { name: string; event: string; count: number; dropoffRate: number; conversionRate: number; }[]; totalEntries: number; totalConversions: number; overallConversionRate: number; analyzedAt: number; }, { name: convex_values.VString; steps: convex_values.VArray<{ name: string; event: string; count: number; dropoffRate: number; conversionRate: number; }[], convex_values.VObject<{ name: string; event: string; count: number; dropoffRate: number; conversionRate: number; }, { name: convex_values.VString; event: convex_values.VString; count: convex_values.VFloat64; dropoffRate: convex_values.VFloat64; conversionRate: convex_values.VFloat64; }, "required", "name" | "event" | "count" | "dropoffRate" | "conversionRate">, "required">; totalEntries: convex_values.VFloat64; totalConversions: convex_values.VFloat64; overallConversionRate: convex_values.VFloat64; analyzedAt: convex_values.VFloat64; }, "required", "name" | "steps" | "totalEntries" | "totalConversions" | "overallConversionRate" | "analyzedAt">; /** Convex validator for individual cohort-retention data points. */ declare const cohortRetentionPointSchema: convex_values.VObject<{ day: number; retainedUsers: number; retentionRate: number; }, { day: convex_values.VFloat64; retainedUsers: convex_values.VFloat64; retentionRate: convex_values.VFloat64; }, "required", "day" | "retainedUsers" | "retentionRate">; /** Convex validator for named cohort buckets and their retention curves. */ declare const cohortBucketSchema: convex_values.VObject<{ cohort: string; size: number; retained: { day: number; retainedUsers: number; retentionRate: number; }[]; lastActivity: number; }, { cohort: convex_values.VString; size: convex_values.VFloat64; retained: convex_values.VArray<{ day: number; retainedUsers: number; retentionRate: number; }[], convex_values.VObject<{ day: number; retainedUsers: number; retentionRate: number; }, { day: convex_values.VFloat64; retainedUsers: convex_values.VFloat64; retentionRate: convex_values.VFloat64; }, "required", "day" | "retainedUsers" | "retentionRate">, "required">; lastActivity: convex_values.VFloat64; }, "required", "cohort" | "size" | "retained" | "lastActivity">; /** Convex validator for packaged cohort-analysis output. */ declare const cohortAnalysisSchema: convex_values.VObject<{ name: string; cohortType: "user" | "session"; intervals: number[]; cohorts: { cohort: string; size: number; retained: { day: number; retainedUsers: number; retentionRate: number; }[]; lastActivity: number; }[]; generatedAt: number; }, { name: convex_values.VString; cohortType: convex_values.VUnion<"user" | "session", [convex_values.VLiteral<"user", "required">, convex_values.VLiteral<"session", "required">], "required", never>; intervals: convex_values.VArray, "required">; cohorts: convex_values.VArray<{ cohort: string; size: number; retained: { day: number; retainedUsers: number; retentionRate: number; }[]; lastActivity: number; }[], convex_values.VObject<{ cohort: string; size: number; retained: { day: number; retainedUsers: number; retentionRate: number; }[]; lastActivity: number; }, { cohort: convex_values.VString; size: convex_values.VFloat64; retained: convex_values.VArray<{ day: number; retainedUsers: number; retentionRate: number; }[], convex_values.VObject<{ day: number; retainedUsers: number; retentionRate: number; }, { day: convex_values.VFloat64; retainedUsers: convex_values.VFloat64; retentionRate: convex_values.VFloat64; }, "required", "day" | "retainedUsers" | "retentionRate">, "required">; lastActivity: convex_values.VFloat64; }, "required", "cohort" | "size" | "retained" | "lastActivity">, "required">; generatedAt: convex_values.VFloat64; }, "required", "name" | "cohortType" | "intervals" | "cohorts" | "generatedAt">; /** Convex validator for a single normalized session-replay frame. */ declare const sessionReplayFrameSchema: convex_values.VObject<{ properties?: Record | undefined; userId?: string | undefined; id: string; sessionId: string; url: string; timestamp: number; kind: "event" | "page_view"; label: string; deltaMs: number; }, { id: convex_values.VString; kind: convex_values.VUnion<"event" | "page_view", [convex_values.VLiteral<"event", "required">, convex_values.VLiteral<"page_view", "required">], "required", never>; label: convex_values.VString; url: convex_values.VString; timestamp: convex_values.VFloat64; deltaMs: convex_values.VFloat64; sessionId: convex_values.VString; userId: convex_values.VString; properties: convex_values.VRecord | undefined, convex_values.VString, convex_values.VUnion, convex_values.VBoolean, convex_values.VFloat64, convex_values.VString], "required", never>, "optional", string>; }, "required", "id" | "sessionId" | "properties" | "url" | "userId" | "timestamp" | `properties.${string}` | "kind" | "label" | "deltaMs">; /** Convex validator for a complete normalized session-replay snapshot. */ declare const sessionReplaySnapshotSchema: convex_values.VObject<{ userId?: string | undefined; sessionId: string; duration: number; startedAt: number; endedAt: number; frames: { properties?: Record | undefined; userId?: string | undefined; id: string; sessionId: string; url: string; timestamp: number; kind: "event" | "page_view"; label: string; deltaMs: number; }[]; activePages: string[]; }, { sessionId: convex_values.VString; startedAt: convex_values.VFloat64; endedAt: convex_values.VFloat64; duration: convex_values.VFloat64; frames: convex_values.VArray<{ properties?: Record | undefined; userId?: string | undefined; id: string; sessionId: string; url: string; timestamp: number; kind: "event" | "page_view"; label: string; deltaMs: number; }[], convex_values.VObject<{ properties?: Record | undefined; userId?: string | undefined; id: string; sessionId: string; url: string; timestamp: number; kind: "event" | "page_view"; label: string; deltaMs: number; }, { id: convex_values.VString; kind: convex_values.VUnion<"event" | "page_view", [convex_values.VLiteral<"event", "required">, convex_values.VLiteral<"page_view", "required">], "required", never>; label: convex_values.VString; url: convex_values.VString; timestamp: convex_values.VFloat64; deltaMs: convex_values.VFloat64; sessionId: convex_values.VString; userId: convex_values.VString; properties: convex_values.VRecord | undefined, convex_values.VString, convex_values.VUnion, convex_values.VBoolean, convex_values.VFloat64, convex_values.VString], "required", never>, "optional", string>; }, "required", "id" | "sessionId" | "properties" | "url" | "userId" | "timestamp" | `properties.${string}` | "kind" | "label" | "deltaMs">, "required">; activePages: convex_values.VArray, "required">; userId: convex_values.VString; }, "required", "sessionId" | "userId" | "duration" | "startedAt" | "endedAt" | "frames" | "activePages">; /** Convex validator for aggregated top-page rows. */ declare const topPageSchema: convex_values.VObject<{ url: string; views: number; }, { url: convex_values.VString; views: convex_values.VFloat64; }, "required", "url" | "views">; /** Convex validator for aggregated device-breakdown output. */ declare const deviceBreakdownSchema: convex_values.VObject<{ desktop: number; tablet: number; mobile: number; }, { desktop: convex_values.VFloat64; tablet: convex_values.VFloat64; mobile: convex_values.VFloat64; }, "required", "desktop" | "tablet" | "mobile">; /** Convex validator for packaged realtime analytics snapshots. */ declare const realtimeStatsSchema: convex_values.VObject<{ conversionRate: number; activeVisitors: number; currentPageViews: number; activeSessions: number; eventsPerSecond: number; conversions: number; deviceBreakdown: { desktop: number; tablet: number; mobile: number; }; topActivePages: { url: string; visitors: number; }[]; lastUpdated: number; }, { activeVisitors: convex_values.VFloat64; currentPageViews: convex_values.VFloat64; activeSessions: convex_values.VFloat64; eventsPerSecond: convex_values.VFloat64; conversions: convex_values.VFloat64; conversionRate: convex_values.VFloat64; deviceBreakdown: convex_values.VObject<{ desktop: number; tablet: number; mobile: number; }, { desktop: convex_values.VFloat64; tablet: convex_values.VFloat64; mobile: convex_values.VFloat64; }, "required", "desktop" | "tablet" | "mobile">; topActivePages: convex_values.VArray<{ url: string; visitors: number; }[], convex_values.VObject<{ url: string; visitors: number; }, { url: convex_values.VString; visitors: convex_values.VFloat64; }, "required", "url" | "visitors">, "required">; lastUpdated: convex_values.VFloat64; }, "required", "conversionRate" | "activeVisitors" | "currentPageViews" | "activeSessions" | "eventsPerSecond" | "conversions" | "deviceBreakdown" | "topActivePages" | "lastUpdated" | "deviceBreakdown.desktop" | "deviceBreakdown.tablet" | "deviceBreakdown.mobile">; /** Named analytics tables exported for consumer schema composition. */ declare const analyticsTables: { analytics_events: convex_server.TableDefinition | undefined; userId?: string | undefined; traits?: Record | undefined; id: string; type: string; device: { browser: string; os: string; device: "desktop" | "tablet" | "mobile"; screenWidth: number; screenHeight: number; language: string; }; sessionId: string; name: string; url: string; referrer: string; timestamp: number; }, { id: convex_values.VString; sessionId: convex_values.VString; name: convex_values.VString; type: convex_values.VString; properties: convex_values.VRecord | undefined, convex_values.VString, convex_values.VUnion, convex_values.VBoolean, convex_values.VFloat64, convex_values.VString], "required", never>, "optional", string>; url: convex_values.VString; referrer: convex_values.VString; userId: convex_values.VString; traits: convex_values.VRecord | undefined, convex_values.VString, convex_values.VUnion, convex_values.VBoolean, convex_values.VFloat64, convex_values.VString], "required", never>, "optional", string>; device: convex_values.VObject<{ browser: string; os: string; device: "desktop" | "tablet" | "mobile"; screenWidth: number; screenHeight: number; language: string; }, { browser: convex_values.VString; os: convex_values.VString; device: convex_values.VUnion<"desktop" | "tablet" | "mobile", [convex_values.VLiteral<"desktop", "required">, convex_values.VLiteral<"tablet", "required">, convex_values.VLiteral<"mobile", "required">], "required", never>; screenWidth: convex_values.VFloat64; screenHeight: convex_values.VFloat64; language: convex_values.VString; }, "required", "browser" | "os" | "device" | "screenWidth" | "screenHeight" | "language">; timestamp: convex_values.VFloat64; }, "required", "id" | "type" | "device" | "sessionId" | "name" | "properties" | "url" | "referrer" | "userId" | "traits" | "timestamp" | "device.browser" | "device.os" | "device.device" | "device.screenWidth" | "device.screenHeight" | "device.language" | `properties.${string}` | `traits.${string}`>, { by_id: ["id", "_creationTime"]; by_sessionId: ["sessionId", "_creationTime"]; by_userId: ["userId", "_creationTime"]; by_timestamp: ["timestamp", "_creationTime"]; by_name: ["name", "_creationTime"]; }, {}, {}>; analytics_pageviews: convex_server.TableDefinition | undefined; userId?: string | undefined; duration?: number | undefined; sessionId: string; url: string; referrer: string; timestamp: number; title: string; }, { url: convex_values.VString; title: convex_values.VString; referrer: convex_values.VString; properties: convex_values.VRecord | undefined, convex_values.VString, convex_values.VUnion, convex_values.VBoolean, convex_values.VFloat64, convex_values.VString], "required", never>, "optional", string>; duration: convex_values.VFloat64; sessionId: convex_values.VString; userId: convex_values.VString; timestamp: convex_values.VFloat64; }, "required", "sessionId" | "properties" | "url" | "referrer" | "userId" | "timestamp" | `properties.${string}` | "title" | "duration">, { by_timestamp: ["timestamp", "_creationTime"]; by_url: ["url", "_creationTime"]; by_userId: ["userId", "_creationTime"]; by_sessionId: ["sessionId", "_creationTime"]; }, {}, {}>; analytics_funnels: convex_server.TableDefinition | undefined; name: string; event: string; }[]; totalEntries: number; totalConversions: number; overallConversionRate: number; analyzedAt: number; results: { name: string; event: string; count: number; dropoffRate: number; conversionRate: number; }[]; }, { name: convex_values.VString; steps: convex_values.VArray<{ properties?: Record | undefined; name: string; event: string; }[], convex_values.VObject<{ properties?: Record | undefined; name: string; event: string; }, { name: convex_values.VString; event: convex_values.VString; properties: convex_values.VRecord | undefined, convex_values.VString, convex_values.VUnion, convex_values.VBoolean, convex_values.VFloat64, convex_values.VString], "required", never>, "optional", string>; }, "required", "name" | "properties" | `properties.${string}` | "event">, "required">; results: convex_values.VArray<{ name: string; event: string; count: number; dropoffRate: number; conversionRate: number; }[], convex_values.VObject<{ name: string; event: string; count: number; dropoffRate: number; conversionRate: number; }, { name: convex_values.VString; event: convex_values.VString; count: convex_values.VFloat64; dropoffRate: convex_values.VFloat64; conversionRate: convex_values.VFloat64; }, "required", "name" | "event" | "count" | "dropoffRate" | "conversionRate">, "required">; totalEntries: convex_values.VFloat64; totalConversions: convex_values.VFloat64; overallConversionRate: convex_values.VFloat64; analyzedAt: convex_values.VFloat64; }, "required", "name" | "steps" | "totalEntries" | "totalConversions" | "overallConversionRate" | "analyzedAt" | "results">, { by_name: ["name", "_creationTime"]; }, {}, {}>; analytics_users: convex_server.TableDefinition; firstSeen: number; lastSeen: number; }, { userId: convex_values.VString; traits: convex_values.VRecord, convex_values.VString, convex_values.VUnion, convex_values.VBoolean, convex_values.VFloat64, convex_values.VString], "required", never>, "required", string>; firstSeen: convex_values.VFloat64; lastSeen: convex_values.VFloat64; }, "required", "userId" | "traits" | `traits.${string}` | "firstSeen" | "lastSeen">, { by_userId: ["userId", "_creationTime"]; }, {}, {}>; analytics_cohorts: convex_server.TableDefinition; cohortType: convex_values.VUnion<"user" | "session", [convex_values.VLiteral<"user", "required">, convex_values.VLiteral<"session", "required">], "required", never>; intervals: convex_values.VArray, "required">; cohorts: convex_values.VArray<{ cohort: string; size: number; retained: { day: number; retainedUsers: number; retentionRate: number; }[]; lastActivity: number; }[], convex_values.VObject<{ cohort: string; size: number; retained: { day: number; retainedUsers: number; retentionRate: number; }[]; lastActivity: number; }, { cohort: convex_values.VString; size: convex_values.VFloat64; retained: convex_values.VArray<{ day: number; retainedUsers: number; retentionRate: number; }[], convex_values.VObject<{ day: number; retainedUsers: number; retentionRate: number; }, { day: convex_values.VFloat64; retainedUsers: convex_values.VFloat64; retentionRate: convex_values.VFloat64; }, "required", "day" | "retainedUsers" | "retentionRate">, "required">; lastActivity: convex_values.VFloat64; }, "required", "cohort" | "size" | "retained" | "lastActivity">, "required">; generatedAt: convex_values.VFloat64; }, "required", "name" | "cohortType" | "intervals" | "cohorts" | "generatedAt">, { by_name: ["name", "_creationTime"]; by_generatedAt: ["generatedAt", "_creationTime"]; }, {}, {}>; analytics_session_replays: convex_server.TableDefinition | undefined; userId?: string | undefined; id: string; sessionId: string; url: string; timestamp: number; kind: "event" | "page_view"; label: string; deltaMs: number; }[]; activePages: string[]; }, { sessionId: convex_values.VString; startedAt: convex_values.VFloat64; endedAt: convex_values.VFloat64; duration: convex_values.VFloat64; frames: convex_values.VArray<{ properties?: Record | undefined; userId?: string | undefined; id: string; sessionId: string; url: string; timestamp: number; kind: "event" | "page_view"; label: string; deltaMs: number; }[], convex_values.VObject<{ properties?: Record | undefined; userId?: string | undefined; id: string; sessionId: string; url: string; timestamp: number; kind: "event" | "page_view"; label: string; deltaMs: number; }, { id: convex_values.VString; kind: convex_values.VUnion<"event" | "page_view", [convex_values.VLiteral<"event", "required">, convex_values.VLiteral<"page_view", "required">], "required", never>; label: convex_values.VString; url: convex_values.VString; timestamp: convex_values.VFloat64; deltaMs: convex_values.VFloat64; sessionId: convex_values.VString; userId: convex_values.VString; properties: convex_values.VRecord | undefined, convex_values.VString, convex_values.VUnion, convex_values.VBoolean, convex_values.VFloat64, convex_values.VString], "required", never>, "optional", string>; }, "required", "id" | "sessionId" | "properties" | "url" | "userId" | "timestamp" | `properties.${string}` | "kind" | "label" | "deltaMs">, "required">; activePages: convex_values.VArray, "required">; userId: convex_values.VString; }, "required", "sessionId" | "userId" | "duration" | "startedAt" | "endedAt" | "frames" | "activePages">, { by_sessionId: ["sessionId", "_creationTime"]; by_endedAt: ["endedAt", "_creationTime"]; }, {}, {}>; }; /** * Default Convex schema composed from the analytics package tables. * * @returns The schema definition consumed by generated Convex types and runtime helpers. */ declare const analyticsSchema: convex_server.SchemaDefinition<{ analytics_events: convex_server.TableDefinition | undefined; userId?: string | undefined; traits?: Record | undefined; id: string; type: string; device: { browser: string; os: string; device: "desktop" | "tablet" | "mobile"; screenWidth: number; screenHeight: number; language: string; }; sessionId: string; name: string; url: string; referrer: string; timestamp: number; }, { id: convex_values.VString; sessionId: convex_values.VString; name: convex_values.VString; type: convex_values.VString; properties: convex_values.VRecord | undefined, convex_values.VString, convex_values.VUnion, convex_values.VBoolean, convex_values.VFloat64, convex_values.VString], "required", never>, "optional", string>; url: convex_values.VString; referrer: convex_values.VString; userId: convex_values.VString; traits: convex_values.VRecord | undefined, convex_values.VString, convex_values.VUnion, convex_values.VBoolean, convex_values.VFloat64, convex_values.VString], "required", never>, "optional", string>; device: convex_values.VObject<{ browser: string; os: string; device: "desktop" | "tablet" | "mobile"; screenWidth: number; screenHeight: number; language: string; }, { browser: convex_values.VString; os: convex_values.VString; device: convex_values.VUnion<"desktop" | "tablet" | "mobile", [convex_values.VLiteral<"desktop", "required">, convex_values.VLiteral<"tablet", "required">, convex_values.VLiteral<"mobile", "required">], "required", never>; screenWidth: convex_values.VFloat64; screenHeight: convex_values.VFloat64; language: convex_values.VString; }, "required", "browser" | "os" | "device" | "screenWidth" | "screenHeight" | "language">; timestamp: convex_values.VFloat64; }, "required", "id" | "type" | "device" | "sessionId" | "name" | "properties" | "url" | "referrer" | "userId" | "traits" | "timestamp" | "device.browser" | "device.os" | "device.device" | "device.screenWidth" | "device.screenHeight" | "device.language" | `properties.${string}` | `traits.${string}`>, { by_id: ["id", "_creationTime"]; by_sessionId: ["sessionId", "_creationTime"]; by_userId: ["userId", "_creationTime"]; by_timestamp: ["timestamp", "_creationTime"]; by_name: ["name", "_creationTime"]; }, {}, {}>; analytics_pageviews: convex_server.TableDefinition | undefined; userId?: string | undefined; duration?: number | undefined; sessionId: string; url: string; referrer: string; timestamp: number; title: string; }, { url: convex_values.VString; title: convex_values.VString; referrer: convex_values.VString; properties: convex_values.VRecord | undefined, convex_values.VString, convex_values.VUnion, convex_values.VBoolean, convex_values.VFloat64, convex_values.VString], "required", never>, "optional", string>; duration: convex_values.VFloat64; sessionId: convex_values.VString; userId: convex_values.VString; timestamp: convex_values.VFloat64; }, "required", "sessionId" | "properties" | "url" | "referrer" | "userId" | "timestamp" | `properties.${string}` | "title" | "duration">, { by_timestamp: ["timestamp", "_creationTime"]; by_url: ["url", "_creationTime"]; by_userId: ["userId", "_creationTime"]; by_sessionId: ["sessionId", "_creationTime"]; }, {}, {}>; analytics_funnels: convex_server.TableDefinition | undefined; name: string; event: string; }[]; totalEntries: number; totalConversions: number; overallConversionRate: number; analyzedAt: number; results: { name: string; event: string; count: number; dropoffRate: number; conversionRate: number; }[]; }, { name: convex_values.VString; steps: convex_values.VArray<{ properties?: Record | undefined; name: string; event: string; }[], convex_values.VObject<{ properties?: Record | undefined; name: string; event: string; }, { name: convex_values.VString; event: convex_values.VString; properties: convex_values.VRecord | undefined, convex_values.VString, convex_values.VUnion, convex_values.VBoolean, convex_values.VFloat64, convex_values.VString], "required", never>, "optional", string>; }, "required", "name" | "properties" | `properties.${string}` | "event">, "required">; results: convex_values.VArray<{ name: string; event: string; count: number; dropoffRate: number; conversionRate: number; }[], convex_values.VObject<{ name: string; event: string; count: number; dropoffRate: number; conversionRate: number; }, { name: convex_values.VString; event: convex_values.VString; count: convex_values.VFloat64; dropoffRate: convex_values.VFloat64; conversionRate: convex_values.VFloat64; }, "required", "name" | "event" | "count" | "dropoffRate" | "conversionRate">, "required">; totalEntries: convex_values.VFloat64; totalConversions: convex_values.VFloat64; overallConversionRate: convex_values.VFloat64; analyzedAt: convex_values.VFloat64; }, "required", "name" | "steps" | "totalEntries" | "totalConversions" | "overallConversionRate" | "analyzedAt" | "results">, { by_name: ["name", "_creationTime"]; }, {}, {}>; analytics_users: convex_server.TableDefinition; firstSeen: number; lastSeen: number; }, { userId: convex_values.VString; traits: convex_values.VRecord, convex_values.VString, convex_values.VUnion, convex_values.VBoolean, convex_values.VFloat64, convex_values.VString], "required", never>, "required", string>; firstSeen: convex_values.VFloat64; lastSeen: convex_values.VFloat64; }, "required", "userId" | "traits" | `traits.${string}` | "firstSeen" | "lastSeen">, { by_userId: ["userId", "_creationTime"]; }, {}, {}>; analytics_cohorts: convex_server.TableDefinition; cohortType: convex_values.VUnion<"user" | "session", [convex_values.VLiteral<"user", "required">, convex_values.VLiteral<"session", "required">], "required", never>; intervals: convex_values.VArray, "required">; cohorts: convex_values.VArray<{ cohort: string; size: number; retained: { day: number; retainedUsers: number; retentionRate: number; }[]; lastActivity: number; }[], convex_values.VObject<{ cohort: string; size: number; retained: { day: number; retainedUsers: number; retentionRate: number; }[]; lastActivity: number; }, { cohort: convex_values.VString; size: convex_values.VFloat64; retained: convex_values.VArray<{ day: number; retainedUsers: number; retentionRate: number; }[], convex_values.VObject<{ day: number; retainedUsers: number; retentionRate: number; }, { day: convex_values.VFloat64; retainedUsers: convex_values.VFloat64; retentionRate: convex_values.VFloat64; }, "required", "day" | "retainedUsers" | "retentionRate">, "required">; lastActivity: convex_values.VFloat64; }, "required", "cohort" | "size" | "retained" | "lastActivity">, "required">; generatedAt: convex_values.VFloat64; }, "required", "name" | "cohortType" | "intervals" | "cohorts" | "generatedAt">, { by_name: ["name", "_creationTime"]; by_generatedAt: ["generatedAt", "_creationTime"]; }, {}, {}>; analytics_session_replays: convex_server.TableDefinition | undefined; userId?: string | undefined; id: string; sessionId: string; url: string; timestamp: number; kind: "event" | "page_view"; label: string; deltaMs: number; }[]; activePages: string[]; }, { sessionId: convex_values.VString; startedAt: convex_values.VFloat64; endedAt: convex_values.VFloat64; duration: convex_values.VFloat64; frames: convex_values.VArray<{ properties?: Record | undefined; userId?: string | undefined; id: string; sessionId: string; url: string; timestamp: number; kind: "event" | "page_view"; label: string; deltaMs: number; }[], convex_values.VObject<{ properties?: Record | undefined; userId?: string | undefined; id: string; sessionId: string; url: string; timestamp: number; kind: "event" | "page_view"; label: string; deltaMs: number; }, { id: convex_values.VString; kind: convex_values.VUnion<"event" | "page_view", [convex_values.VLiteral<"event", "required">, convex_values.VLiteral<"page_view", "required">], "required", never>; label: convex_values.VString; url: convex_values.VString; timestamp: convex_values.VFloat64; deltaMs: convex_values.VFloat64; sessionId: convex_values.VString; userId: convex_values.VString; properties: convex_values.VRecord | undefined, convex_values.VString, convex_values.VUnion, convex_values.VBoolean, convex_values.VFloat64, convex_values.VString], "required", never>, "optional", string>; }, "required", "id" | "sessionId" | "properties" | "url" | "userId" | "timestamp" | `properties.${string}` | "kind" | "label" | "deltaMs">, "required">; activePages: convex_values.VArray, "required">; userId: convex_values.VString; }, "required", "sessionId" | "userId" | "duration" | "startedAt" | "endedAt" | "frames" | "activePages">, { by_sessionId: ["sessionId", "_creationTime"]; by_endedAt: ["endedAt", "_creationTime"]; }, {}, {}>; }, true>; export { analyticsEventSchema, analyticsSchema, analyticsTables, cohortAnalysisSchema, cohortBucketSchema, cohortRetentionPointSchema, deviceBreakdownSchema, funnelResultSchema, funnelStepResultSchema, funnelStepSchema, pageViewSchema, realtimeStatsSchema, sessionReplayFrameSchema, sessionReplaySnapshotSchema, topPageSchema };