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 { CreateActionConnectionRequest } from "../models/CreateActionConnectionRequest";
import { CreateActionConnectionResponse } from "../models/CreateActionConnectionResponse";
import { GetActionConnectionResponse } from "../models/GetActionConnectionResponse";
import { UpdateActionConnectionRequest } from "../models/UpdateActionConnectionRequest";
import { UpdateActionConnectionResponse } from "../models/UpdateActionConnectionResponse";
export declare class ActionConnectionApiRequestFactory extends BaseAPIRequestFactory {
    createActionConnection(body: CreateActionConnectionRequest, _options?: Configuration): Promise<RequestContext>;
    deleteActionConnection(connectionId: string, _options?: Configuration): Promise<RequestContext>;
    getActionConnection(connectionId: string, _options?: Configuration): Promise<RequestContext>;
    updateActionConnection(connectionId: string, body: UpdateActionConnectionRequest, _options?: Configuration): Promise<RequestContext>;
}
export declare class ActionConnectionApiResponseProcessor {
    /**
     * 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 createActionConnection
     * @throws ApiException if the response code was not in [200, 299]
     */
    createActionConnection(response: ResponseContext): Promise<CreateActionConnectionResponse>;
    /**
     * 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 deleteActionConnection
     * @throws ApiException if the response code was not in [200, 299]
     */
    deleteActionConnection(response: ResponseContext): Promise<void>;
    /**
     * 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 getActionConnection
     * @throws ApiException if the response code was not in [200, 299]
     */
    getActionConnection(response: ResponseContext): Promise<GetActionConnectionResponse>;
    /**
     * 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 updateActionConnection
     * @throws ApiException if the response code was not in [200, 299]
     */
    updateActionConnection(response: ResponseContext): Promise<UpdateActionConnectionResponse>;
}
export interface ActionConnectionApiCreateActionConnectionRequest {
    /**
     * @type CreateActionConnectionRequest
     */
    body: CreateActionConnectionRequest;
}
export interface ActionConnectionApiDeleteActionConnectionRequest {
    /**
     * The ID of the action connection
     * @type string
     */
    connectionId: string;
}
export interface ActionConnectionApiGetActionConnectionRequest {
    /**
     * The ID of the action connection
     * @type string
     */
    connectionId: string;
}
export interface ActionConnectionApiUpdateActionConnectionRequest {
    /**
     * The ID of the action connection
     * @type string
     */
    connectionId: string;
    /**
     * Update an existing Action Connection request body
     * @type UpdateActionConnectionRequest
     */
    body: UpdateActionConnectionRequest;
}
export declare class ActionConnectionApi {
    private requestFactory;
    private responseProcessor;
    private configuration;
    constructor(configuration: Configuration, requestFactory?: ActionConnectionApiRequestFactory, responseProcessor?: ActionConnectionApiResponseProcessor);
    /**
     * Create a new Action Connection
     * @param param The request object
     */
    createActionConnection(param: ActionConnectionApiCreateActionConnectionRequest, options?: Configuration): Promise<CreateActionConnectionResponse>;
    /**
     * Delete an existing Action Connection
     * @param param The request object
     */
    deleteActionConnection(param: ActionConnectionApiDeleteActionConnectionRequest, options?: Configuration): Promise<void>;
    /**
     * Get an existing Action Connection
     * @param param The request object
     */
    getActionConnection(param: ActionConnectionApiGetActionConnectionRequest, options?: Configuration): Promise<GetActionConnectionResponse>;
    /**
     * Update an existing Action Connection
     * @param param The request object
     */
    updateActionConnection(param: ActionConnectionApiUpdateActionConnectionRequest, options?: Configuration): Promise<UpdateActionConnectionResponse>;
}
