import { BaseAPIRequestFactory } from "../../datadog-api-client-common/baseapi";
import { Configuration } from "../../datadog-api-client-common/configuration";
import { RequestContext, ResponseContext } from "../../datadog-api-client-common/http/http";
import { AggregatedLongTasksRequest } from "../models/AggregatedLongTasksRequest";
import { AggregatedLongTasksResponse } from "../models/AggregatedLongTasksResponse";
import { AggregatedSignalsProblemsRequest } from "../models/AggregatedSignalsProblemsRequest";
import { AggregatedSignalsProblemsResponse } from "../models/AggregatedSignalsProblemsResponse";
import { AggregatedWaterfallRequest } from "../models/AggregatedWaterfallRequest";
import { AggregatedWaterfallResponse } from "../models/AggregatedWaterfallResponse";
export declare class RUMInsightsApiRequestFactory extends BaseAPIRequestFactory {
    queryAggregatedLongTasks(body: AggregatedLongTasksRequest, _options?: Configuration): Promise<RequestContext>;
    queryAggregatedSignalsProblems(body: AggregatedSignalsProblemsRequest, _options?: Configuration): Promise<RequestContext>;
    queryAggregatedWaterfall(body: AggregatedWaterfallRequest, _options?: Configuration): Promise<RequestContext>;
}
export declare class RUMInsightsApiResponseProcessor {
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to queryAggregatedLongTasks
     * @throws ApiException if the response code was not in [200, 299]
     */
    queryAggregatedLongTasks(response: ResponseContext): Promise<AggregatedLongTasksResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to queryAggregatedSignalsProblems
     * @throws ApiException if the response code was not in [200, 299]
     */
    queryAggregatedSignalsProblems(response: ResponseContext): Promise<AggregatedSignalsProblemsResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to queryAggregatedWaterfall
     * @throws ApiException if the response code was not in [200, 299]
     */
    queryAggregatedWaterfall(response: ResponseContext): Promise<AggregatedWaterfallResponse>;
}
export interface RUMInsightsApiQueryAggregatedLongTasksRequest {
    /**
     * @type AggregatedLongTasksRequest
     */
    body: AggregatedLongTasksRequest;
}
export interface RUMInsightsApiQueryAggregatedSignalsProblemsRequest {
    /**
     * @type AggregatedSignalsProblemsRequest
     */
    body: AggregatedSignalsProblemsRequest;
}
export interface RUMInsightsApiQueryAggregatedWaterfallRequest {
    /**
     * @type AggregatedWaterfallRequest
     */
    body: AggregatedWaterfallRequest;
}
export declare class RUMInsightsApi {
    private requestFactory;
    private responseProcessor;
    private configuration;
    constructor(configuration: Configuration, requestFactory?: RUMInsightsApiRequestFactory, responseProcessor?: RUMInsightsApiResponseProcessor);
    /**
     * Get aggregated long task data for a RUM view, grouped by invoker type and sampled across multiple view instances.
     * @param param The request object
     */
    queryAggregatedLongTasks(param: RUMInsightsApiQueryAggregatedLongTasksRequest, options?: Configuration): Promise<AggregatedLongTasksResponse>;
    /**
     * Get aggregated performance signals and problem detections for a RUM view, sampled across multiple view instances.
     * @param param The request object
     */
    queryAggregatedSignalsProblems(param: RUMInsightsApiQueryAggregatedSignalsProblemsRequest, options?: Configuration): Promise<AggregatedSignalsProblemsResponse>;
    /**
     * Get aggregated network resource waterfall data for a RUM view, sampled across multiple view instances.
     * @param param The request object
     */
    queryAggregatedWaterfall(param: RUMInsightsApiQueryAggregatedWaterfallRequest, options?: Configuration): Promise<AggregatedWaterfallResponse>;
}
