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 { RumSdkConfigResponse } from "../models/RumSdkConfigResponse";
import { RumSdkConfigUpdateRequest } from "../models/RumSdkConfigUpdateRequest";
export declare class RUMRemoteConfigApiRequestFactory extends BaseAPIRequestFactory {
    getRumSdkConfig(configId: string, _options?: Configuration): Promise<RequestContext>;
    updateRumSdkConfig(configId: string, body: RumSdkConfigUpdateRequest, _options?: Configuration): Promise<RequestContext>;
}
export declare class RUMRemoteConfigApiResponseProcessor {
    /**
     * 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 getRumSdkConfig
     * @throws ApiException if the response code was not in [200, 299]
     */
    getRumSdkConfig(response: ResponseContext): Promise<RumSdkConfigResponse>;
    /**
     * 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 updateRumSdkConfig
     * @throws ApiException if the response code was not in [200, 299]
     */
    updateRumSdkConfig(response: ResponseContext): Promise<RumSdkConfigResponse>;
}
export interface RUMRemoteConfigApiGetRumSdkConfigRequest {
    /**
     * The ID of the RUM SDK configuration.
     * @type string
     */
    configId: string;
}
export interface RUMRemoteConfigApiUpdateRumSdkConfigRequest {
    /**
     * The ID of the RUM SDK configuration.
     * @type string
     */
    configId: string;
    /**
     * The RUM SDK configuration update.
     * @type RumSdkConfigUpdateRequest
     */
    body: RumSdkConfigUpdateRequest;
}
export declare class RUMRemoteConfigApi {
    private requestFactory;
    private responseProcessor;
    private configuration;
    constructor(configuration: Configuration, requestFactory?: RUMRemoteConfigApiRequestFactory, responseProcessor?: RUMRemoteConfigApiResponseProcessor);
    /**
     * Retrieve a RUM SDK configuration by its identifier.
     * @param param The request object
     */
    getRumSdkConfig(param: RUMRemoteConfigApiGetRumSdkConfigRequest, options?: Configuration): Promise<RumSdkConfigResponse>;
    /**
     * Update an existing RUM SDK configuration by its identifier.
     * Returns the updated configuration when successful.
     * @param param The request object
     */
    updateRumSdkConfig(param: RUMRemoteConfigApiUpdateRumSdkConfigRequest, options?: Configuration): Promise<RumSdkConfigResponse>;
}
