import { Api } from '../api'; import { Cron } from '../cron'; import { Database } from '../database'; import { Metrics } from '../metrics'; import { EventArgs, InitArgs, Logger, SetEventLogArgs, SetItemArgs } from './event-logs-main.types'; export declare abstract class EventLogMain { #private; protected enableEvents: boolean; protected enableLogs: boolean; protected api: Api; protected database: Database; protected organizationName: string; protected browserInfo: UAParser.IResult; protected cron: Cron | undefined; protected publicApiKey: string; protected isBrowser: boolean; language: string | undefined; country: string | undefined; protected enableCron: boolean | undefined; protected maxBatchQueued: number; deviceId: string | undefined; protected batchTime: number | undefined; protected clientAppDomain: string | undefined; protected metrics: Metrics; protected debug: boolean; constructor({ organizationName, platform, batchTime, enableEvents, enableLogs, enableCron, debug, publicApiKey, language, xVersion, maxBatchQueued, workflow, country, cookieName, deviceId, clientAppDomain, enableMetrics, apiUrl, }: InitArgs); abstract event(eventArgs: EventArgs): Promise | undefined; abstract logger: Logger; abstract sendBatch(): Promise; abstract sendMetricBatch(): Promise; protected startCron(): Promise; protected setEvent({ eventLogArgs, level, }: SetEventLogArgs): Promise | undefined; protected setLog({ eventLogArgs, level, }: SetEventLogArgs): Promise | undefined; protected setItem({ eventLogArgs, level, type, }: SetItemArgs): Promise; protected getUrl(): string | null; protected getDomain(): string | null; }