export interface SessionManager { setUID(uid: string | null): void; getUID(): string; getSID(): string; generateUUID(): string; getSessionId(): string; resetSession(): string; getSessionTimeRemaining(): number; } export interface VAClient extends Omit { validateEvents(events: unknown, failCallback?: (err: Error) => void): boolean; sendEvent( action: string, eventParams: Record, successCallback?: () => void, failCallback?: (err: unknown) => void ): void; sendEvents( action: string, eventParamsList: Record[], successCallback?: () => void, failCallback?: (err: unknown) => void ): void; getDefaultTrackingParams(action?: string): Record; } declare global { interface Window { ViSenzeAnalytics?: (configs: { code: string; uid?: string; isCN?: boolean; endpoint?: string }) => VAClient; } }