import { DcuplUpdateType } from './changeDetection'; export type AnalyticsEntryType = 'resource' | 'mark' | 'measure' | 'data' | 'sdk_action'; export type AnalyticsEntryBase = { name: string; type: AnalyticsEntryType; value: Value; createdAt: number; }; export type AnalyticsEntryResource = AnalyticsEntryBase & { type: 'resource'; }; export type AnalyticsEntryMark = AnalyticsEntryBase & { type: 'mark'; }; export type AnalyticsEntryMeasure = AnalyticsEntryBase & { type: 'measure'; detail?: any; }; export type AnalyticsEntryData = AnalyticsEntryBase & { type: 'data'; }; export type AnalyticsEntrySdkAction = AnalyticsEntryBase & { type: 'sdk_action'; }; export type AnalyticsEntry = AnalyticsEntryResource | AnalyticsEntryMark | AnalyticsEntryMeasure | AnalyticsEntryData | AnalyticsEntrySdkAction; export type AnalyticsEntrySdkActionValue = { duration: number; model?: string; args?: any; }; export type AnalyticsEntryResourceValue = { model: string; type: 'data' | 'model'; start: number; startTime: number; requestStart: number; responseStart: number; responseEnd: number; end: number; duration: number; parseStart: number; parseEnd: number; rawTransformStart?: number; rawTransformEnd?: number; csvToJsonStart?: number; csvToJsonEnd?: number; parsedTransformStart?: number; parsedTransformEnd?: number; decodedBodySize: number; encodedBodySize: number; }; export declare class AnalyticsController { private data; private enabled; constructor(); init(enabled: boolean): void; set(options: { value: AnalyticsEntry; context?: any; }): AnalyticsEntry | undefined; mark(options: { name: string; context?: any; }): AnalyticsEntryMark | undefined; measure(options: { name: string; start: string; end: string; context?: any; detail?: any; sum?: boolean; }): AnalyticsEntryMeasure | undefined; update(options: { value: AnalyticsEntry; context?: any; }): AnalyticsEntry | undefined; getResourceInfosFromPerformanceAPI(): Array; get(options: { name: string; context?: any; }): AnalyticsEntry | undefined; getByType(type: AnalyticsEntryType): Array; getByName(name: DcuplUpdateType): Array; clear(): void; getKey(key: string, context: any): string; }