export enum ProviderType { Amplitude = "amplitude", GoogleAnalytics = "google", Indicative = "indicative", Sentry = "sentry", PostHog = "posthog" } export type IAppProps = Record & { env: string; version: string; osVersion: string; productEnv: "gw" | "ngw" | "dapp" | string; $once?: Record; }; export interface IUserProps { id: string; extra: Record; } export interface IAbstractConfig { enabled: boolean; } export interface IAbstractProvider { initialize(appProps: IAppProps): Promise; identify(identifier: string | number, email?: string, props?: object): void; } export interface IAnalyticsProvider { send(event: string, data?: object): void; } export interface IMonitoringProvider { capture(exception: Error, fingerprint?: string[], tags?: object, extra?: object): void; } export interface IProvider extends Partial, Partial, Partial {}