import { AxiosInstance, AxiosResponse } from 'axios';
import { BaseRequests } from './BaseRequests';
import { CreateBuild } from '../models/requests/CreateBuild';
import { Build } from '../models/Build';
import { Artifact } from '../models/Artifact';
import { BuildsResponse } from '../models/response/BuildsResponse';
import { DefaultResponse } from '../models/response/DefaultResponse';
export declare class BuildRequests extends BaseRequests {
    constructor(axiosInstance: AxiosInstance);
    createBuild(request: CreateBuild): Promise<Build>;
    /**
     * This function allows you to retrieve the builds for a specific team and also allows you to specify
     * which builds and if you want to include the execution details.
     *
     * @param {string} teamId
     * @param {string[]=} buildIds
     * @param {boolean} [returnExecutionDetails=false]
     */
    getBuilds(teamId: string, buildIds: string[], returnExecutionDetails: boolean): Promise<BuildsResponse>;
    getBuildsWithFilters(teamId: string, filterEnvironments: string[], filterComponents: string[], skip: number, limit: number): Promise<BuildsResponse>;
    getBuildsWithDateFilters(teamId: string, filterEnvironments: string[], filterComponents: string[], skip: number, limit: number, fromDate: Date, toDate: Date): Promise<BuildsResponse>;
    /**
     * This function will remove builds by age (including executions and screenshots).
     * NOTE: this can not be reversed, once deleted all builds and assets will have been removed.
     *
     * @param {string} teamId - id of the team you want to remove the builds for.
     * @param {number} ageInDays - age in number of days you want to remove the builds for. e.g. 90 will
     * remove any builds over 90 days old.
     */
    deleteBuilds(teamId: string, ageInDays: number): Promise<DefaultResponse>;
    getBuild(buildId: string): Promise<Build>;
    getBuildReport(buildId: string): Promise<AxiosResponse>;
    deleteBuild(buildId: string): Promise<DefaultResponse>;
    setKeep(buildId: string, keep: boolean): Promise<Build>;
    addArtifacts(buildId: string, artifacts: Artifact[]): Promise<Build>;
}
