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 { BranchCoverageSummaryRequest } from "../models/BranchCoverageSummaryRequest";
import { CommitCoverageSummaryRequest } from "../models/CommitCoverageSummaryRequest";
import { CoverageSummaryResponse } from "../models/CoverageSummaryResponse";
export declare class CodeCoverageApiRequestFactory extends BaseAPIRequestFactory {
    getCodeCoverageBranchSummary(body: BranchCoverageSummaryRequest, _options?: Configuration): Promise<RequestContext>;
    getCodeCoverageCommitSummary(body: CommitCoverageSummaryRequest, _options?: Configuration): Promise<RequestContext>;
}
export declare class CodeCoverageApiResponseProcessor {
    /**
     * 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 getCodeCoverageBranchSummary
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCodeCoverageBranchSummary(response: ResponseContext): Promise<CoverageSummaryResponse>;
    /**
     * 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 getCodeCoverageCommitSummary
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCodeCoverageCommitSummary(response: ResponseContext): Promise<CoverageSummaryResponse>;
}
export interface CodeCoverageApiGetCodeCoverageBranchSummaryRequest {
    /**
     * @type BranchCoverageSummaryRequest
     */
    body: BranchCoverageSummaryRequest;
}
export interface CodeCoverageApiGetCodeCoverageCommitSummaryRequest {
    /**
     * @type CommitCoverageSummaryRequest
     */
    body: CommitCoverageSummaryRequest;
}
export declare class CodeCoverageApi {
    private requestFactory;
    private responseProcessor;
    private configuration;
    constructor(configuration: Configuration, requestFactory?: CodeCoverageApiRequestFactory, responseProcessor?: CodeCoverageApiResponseProcessor);
    /**
     * Retrieve aggregated code coverage statistics for a specific branch in a repository.
     * This endpoint provides overall coverage metrics as well as breakdowns by service
     * and code owner.
     * @param param The request object
     */
    getCodeCoverageBranchSummary(param: CodeCoverageApiGetCodeCoverageBranchSummaryRequest, options?: Configuration): Promise<CoverageSummaryResponse>;
    /**
     * Retrieve aggregated code coverage statistics for a specific commit in a repository.
     * This endpoint provides overall coverage metrics as well as breakdowns by service
     * and code owner.
     *
     * The commit SHA must be a 40-character hexadecimal string (SHA-1 hash).
     * @param param The request object
     */
    getCodeCoverageCommitSummary(param: CodeCoverageApiGetCodeCoverageCommitSummaryRequest, options?: Configuration): Promise<CoverageSummaryResponse>;
}
