import { Request, CodeBuild as AWSCodeBuild } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSCodeBuild> = AWSCodeBuild[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSCodeBuild, Extras> = AWSCodeBuild[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class CodeBuild {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "codebuild";
    readonly global: false;
    readonly category: "Developer Tools";
    readonly topLevelCalls: readonly ["listBuildBatches", "listBuildBatchesForProject", "listBuilds", "listProjects", "listReportGroups", "listReports", "listSharedProjects", "listSharedReportGroups"];
    batchDeleteBuilds: (params: ParamsFrom<'batchDeleteBuilds', Record<string, never>>) => Promise<ReturnTypeFrom<'batchDeleteBuilds'>>;
    batchGetBuildBatches: (params: ParamsFrom<'batchGetBuildBatches', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetBuildBatches'>>;
    batchGetBuilds: (params: ParamsFrom<'batchGetBuilds', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetBuilds'>>;
    batchGetProjects: (params: ParamsFrom<'batchGetProjects', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetProjects'>>;
    batchGetReportGroups: (params: ParamsFrom<'batchGetReportGroups', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetReportGroups'>>;
    batchGetReports: (params: ParamsFrom<'batchGetReports', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetReports'>>;
    createProject: (params: ParamsFrom<'createProject', Record<string, never>>) => Promise<ReturnTypeFrom<'createProject'>>;
    createReportGroup: (params: ParamsFrom<'createReportGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createReportGroup'>>;
    createWebhook: (params: ParamsFrom<'createWebhook', Record<string, never>>) => Promise<ReturnTypeFrom<'createWebhook'>>;
    deleteBuildBatch: (params: ParamsFrom<'deleteBuildBatch', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteBuildBatch'>>;
    deleteProject: (params: ParamsFrom<'deleteProject', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteProject'>>;
    deleteReport: (params: ParamsFrom<'deleteReport', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteReport'>>;
    deleteReportGroup: (params: ParamsFrom<'deleteReportGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteReportGroup'>>;
    deleteResourcePolicy: (params: ParamsFrom<'deleteResourcePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteResourcePolicy'>>;
    deleteSourceCredentials: (params: ParamsFrom<'deleteSourceCredentials', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteSourceCredentials'>>;
    deleteWebhook: (params: ParamsFrom<'deleteWebhook', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteWebhook'>>;
    describeCodeCoverages(params: {
        [K in keyof ParamsFrom<'describeCodeCoverages', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeCodeCoverages', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeCodeCoverages'>]-?: ReturnTypeFrom<'describeCodeCoverages'>[K];
        }['codeCoverages'];
    }>;
    describeTestCases(params: {
        [K in keyof ParamsFrom<'describeTestCases', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeTestCases', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeTestCases'>]-?: ReturnTypeFrom<'describeTestCases'>[K];
        }['testCases'];
    }>;
    getReportGroupTrend: (params: ParamsFrom<'getReportGroupTrend', Record<string, never>>) => Promise<ReturnTypeFrom<'getReportGroupTrend'>>;
    getResourcePolicy: (params: ParamsFrom<'getResourcePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getResourcePolicy'>>;
    importSourceCredentials: (params: ParamsFrom<'importSourceCredentials', Record<string, never>>) => Promise<ReturnTypeFrom<'importSourceCredentials'>>;
    invalidateProjectCache: (params: ParamsFrom<'invalidateProjectCache', Record<string, never>>) => Promise<ReturnTypeFrom<'invalidateProjectCache'>>;
    listBuildBatches(params: {
        [K in keyof ParamsFrom<'listBuildBatches', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listBuildBatches', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listBuildBatches'>]-?: ReturnTypeFrom<'listBuildBatches'>[K];
        }['ids'];
    }>;
    listBuildBatchesForProject(params: {
        [K in keyof ParamsFrom<'listBuildBatchesForProject', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listBuildBatchesForProject', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listBuildBatchesForProject'>]-?: ReturnTypeFrom<'listBuildBatchesForProject'>[K];
        }['ids'];
    }>;
    listBuilds(params: {
        [K in keyof ParamsFrom<'listBuilds', {
            next?: string;
        }>]: ParamsFrom<'listBuilds', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listBuilds'>]-?: ReturnTypeFrom<'listBuilds'>[K];
        }['ids'];
    }>;
    listBuildsForProject(params: {
        [K in keyof ParamsFrom<'listBuildsForProject', {
            next?: string;
        }>]: ParamsFrom<'listBuildsForProject', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listBuildsForProject'>]-?: ReturnTypeFrom<'listBuildsForProject'>[K];
        }['ids'];
    }>;
    listCuratedEnvironmentImages: (params: ParamsFrom<'listCuratedEnvironmentImages', Record<string, never>>) => Promise<ReturnTypeFrom<'listCuratedEnvironmentImages'>>;
    listProjects(params: {
        [K in keyof ParamsFrom<'listProjects', {
            next?: string;
        }>]: ParamsFrom<'listProjects', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listProjects'>]-?: ReturnTypeFrom<'listProjects'>[K];
        }['projects'];
    }>;
    listReportGroups(params: {
        [K in keyof ParamsFrom<'listReportGroups', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listReportGroups', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listReportGroups'>]-?: ReturnTypeFrom<'listReportGroups'>[K];
        }['reportGroups'];
    }>;
    listReports(params: {
        [K in keyof ParamsFrom<'listReports', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listReports', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listReports'>]-?: ReturnTypeFrom<'listReports'>[K];
        }['reports'];
    }>;
    listReportsForReportGroup(params: {
        [K in keyof ParamsFrom<'listReportsForReportGroup', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listReportsForReportGroup', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listReportsForReportGroup'>]-?: ReturnTypeFrom<'listReportsForReportGroup'>[K];
        }['reports'];
    }>;
    listSharedProjects(params: {
        [K in keyof ParamsFrom<'listSharedProjects', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listSharedProjects', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listSharedProjects'>]-?: ReturnTypeFrom<'listSharedProjects'>[K];
        }['projects'];
    }>;
    listSharedReportGroups(params: {
        [K in keyof ParamsFrom<'listSharedReportGroups', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listSharedReportGroups', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listSharedReportGroups'>]-?: ReturnTypeFrom<'listSharedReportGroups'>[K];
        }['reportGroups'];
    }>;
    listSourceCredentials: (params: ParamsFrom<'listSourceCredentials', Record<string, never>>) => Promise<ReturnTypeFrom<'listSourceCredentials'>>;
    putResourcePolicy: (params: ParamsFrom<'putResourcePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putResourcePolicy'>>;
    retryBuild: (params: ParamsFrom<'retryBuild', Record<string, never>>) => Promise<ReturnTypeFrom<'retryBuild'>>;
    retryBuildBatch: (params: ParamsFrom<'retryBuildBatch', Record<string, never>>) => Promise<ReturnTypeFrom<'retryBuildBatch'>>;
    startBuild: (params: ParamsFrom<'startBuild', Record<string, never>>) => Promise<ReturnTypeFrom<'startBuild'>>;
    startBuildBatch: (params: ParamsFrom<'startBuildBatch', Record<string, never>>) => Promise<ReturnTypeFrom<'startBuildBatch'>>;
    stopBuild: (params: ParamsFrom<'stopBuild', Record<string, never>>) => Promise<ReturnTypeFrom<'stopBuild'>>;
    stopBuildBatch: (params: ParamsFrom<'stopBuildBatch', Record<string, never>>) => Promise<ReturnTypeFrom<'stopBuildBatch'>>;
    updateProject: (params: ParamsFrom<'updateProject', Record<string, never>>) => Promise<ReturnTypeFrom<'updateProject'>>;
    updateProjectVisibility: (params: ParamsFrom<'updateProjectVisibility', Record<string, never>>) => Promise<ReturnTypeFrom<'updateProjectVisibility'>>;
    updateReportGroup: (params: ParamsFrom<'updateReportGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'updateReportGroup'>>;
    updateWebhook: (params: ParamsFrom<'updateWebhook', Record<string, never>>) => Promise<ReturnTypeFrom<'updateWebhook'>>;
    static fromClient(client: AWSCodeBuild): CodeBuild;
    static client(options?: AWSCodeBuild.Types.ClientConfiguration): CodeBuild;
}
export {};
