import { UIEventObserver } from 'ui-event-observer'; import { EventFieldsObject } from 'userdive/lib/types'; import Store from './store'; import { SettingFieldsObject } from './types'; export default class AgentCore extends Store { observer: UIEventObserver; private baseUrl; private cache; private emitter; private events; private interactionId; private eventId; private interactions; private interval; private loadTime; private id; constructor(id: string, eventsClass: any[], // TODO settings: SettingFieldsObject); pageview(page: string): void; event({ eventCategory: category, eventLabel: label, eventAction: action, eventValue: value }: EventFieldsObject): void; destroy(): void; send(query: string[], force?: boolean): void; update(): void; private sendWithUpdate; private bind; private updateInteractionCache; private clear; }