import { Configuration, FetchCompleteContext, FetchStartContext, Observable, RequestType, XhrCompleteContext, XhrStartContext } from '@cloudsnorkel/datadog-browser-core'; import { TraceIdentifier, Tracer } from './tracer'; export interface RequestStartEvent { requestIndex: number; } export interface RequestCompleteEvent { requestIndex: number; type: RequestType; method: string; url: string; status: number; response?: string; responseType?: string; startTime: number; duration: number; traceId?: TraceIdentifier; spanId?: TraceIdentifier; } interface CustomContext { traceId: TraceIdentifier | undefined; spanId: TraceIdentifier | undefined; requestIndex: number; } export declare type RequestObservables = [Observable, Observable]; export declare function startRequestCollection(configuration: Configuration): RequestObservables; export declare function trackXhr(configuration: Configuration, [requestStartObservable, requestCompleteObservable]: RequestObservables, tracer: Tracer): import("@cloudsnorkel/datadog-browser-core").XhrProxy; export declare function trackFetch(configuration: Configuration, [requestStartObservable, requestCompleteObservable]: RequestObservables, tracer: Tracer): import("@cloudsnorkel/datadog-browser-core").FetchProxy; export {};