export type ClientTelemetry = { ClientId: string; CurrentSessionId?: string | null; FirstSeenAt?: Date | null; LastSeenAt?: Date | null; LastEventType?: string | null; UserId?: number | null; Username?: string | null; IpAddress?: string | null; ForwardedFor?: string | null; BrowserName?: string | null; BrowserVersion?: string | null; BrowserMajorVersion?: number | null; Platform?: string | null; ScreenWidth?: number | null; ScreenHeight?: number | null; ViewportWidth?: number | null; ViewportHeight?: number | null; DevicePixelRatio?: number | null; Timezone?: string | null; Language?: string | null; HardwareConcurrency?: number | null; DeviceMemory?: number | null; MaxTouchPoints?: number | null; LastPath?: string | null; LastRouteChangedAt?: Date | null; PageTitle?: string | null; VisibilityState?: string | null; }; export type ClientTelemetryEvent = { ClientTelemetryEventId: number; ClientId: string; SessionId: string; EventType: string; EventTimestamp?: Date | null; UserId?: number | null; Username?: string | null; IpAddress?: string | null; ForwardedFor?: string | null; BrowserName?: string | null; BrowserVersion?: string | null; BrowserMajorVersion?: number | null; Platform?: string | null; ScreenWidth?: number | null; ScreenHeight?: number | null; ViewportWidth?: number | null; ViewportHeight?: number | null; DevicePixelRatio?: number | null; Timezone?: string | null; Language?: string | null; Path?: string | null; PreviousPath?: string | null; PageTitle?: string | null; VisibilityState?: string | null; }; export type ClientTelemetryFilters = { startDate: Date; endDate: Date | null; search: string; userId: number | null; eventType: string; };