import { WebStorage, NullStorage } from '../storage'; import { AnalyticsBeaconClient } from './analyticsBeaconClient'; import { AnalyticsRequestClient, IAnalyticsClientOptions, NoopAnalyticsClient } from './analyticsRequestClient'; import { AnalyticsFetchClient } from './analyticsFetchClient'; import { BufferedRequest } from './analytics'; import { EventType } from '../events'; export interface IRuntimeEnvironment { storage: WebStorage; client: AnalyticsRequestClient; getClientDependingOnEventType(eventType: EventType): AnalyticsRequestClient; } export declare class BrowserRuntime implements IRuntimeEnvironment { storage: WebStorage; client: AnalyticsFetchClient; private beaconClient; constructor(clientOptions: IAnalyticsClientOptions, getUnprocessedRequests: () => Array); getClientDependingOnEventType(eventType: EventType): AnalyticsFetchClient | AnalyticsBeaconClient; } export declare class NodeJSRuntime implements IRuntimeEnvironment { storage: WebStorage; client: AnalyticsFetchClient; constructor(clientOptions: IAnalyticsClientOptions, storage?: WebStorage); getClientDependingOnEventType(eventType: EventType): AnalyticsRequestClient; } export declare class NoopRuntime implements IRuntimeEnvironment { storage: NullStorage; client: NoopAnalyticsClient; getClientDependingOnEventType(eventType: EventType): AnalyticsRequestClient; }