import { Request, CodeGuruReviewer as AWSCodeGuruReviewer } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSCodeGuruReviewer> = AWSCodeGuruReviewer[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSCodeGuruReviewer, Extras> = AWSCodeGuruReviewer[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class CodeGuruReviewer {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "codeguru-reviewer";
    readonly global: false;
    readonly category: "Developer Tools";
    readonly topLevelCalls: readonly ["listRepositoryAssociations"];
    associateRepository: (params: ParamsFrom<'associateRepository', Record<string, never>>) => Promise<ReturnTypeFrom<'associateRepository'>>;
    createCodeReview: (params: ParamsFrom<'createCodeReview', Record<string, never>>) => Promise<ReturnTypeFrom<'createCodeReview'>>;
    describeCodeReview: (params: ParamsFrom<'describeCodeReview', Record<string, never>>) => Promise<ReturnTypeFrom<'describeCodeReview'>>;
    describeRecommendationFeedback: (params: ParamsFrom<'describeRecommendationFeedback', Record<string, never>>) => Promise<ReturnTypeFrom<'describeRecommendationFeedback'>>;
    describeRepositoryAssociation: (params: ParamsFrom<'describeRepositoryAssociation', Record<string, never>>) => Promise<ReturnTypeFrom<'describeRepositoryAssociation'>>;
    disassociateRepository: (params: ParamsFrom<'disassociateRepository', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateRepository'>>;
    listCodeReviews: (params: ParamsFrom<'listCodeReviews', Record<string, never>>) => Promise<ReturnTypeFrom<'listCodeReviews'>>;
    listRecommendationFeedback: (params: ParamsFrom<'listRecommendationFeedback', Record<string, never>>) => Promise<ReturnTypeFrom<'listRecommendationFeedback'>>;
    listRecommendations: (params: ParamsFrom<'listRecommendations', Record<string, never>>) => Promise<ReturnTypeFrom<'listRecommendations'>>;
    listRepositoryAssociations(params: {
        [K in keyof ParamsFrom<'listRepositoryAssociations', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listRepositoryAssociations', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listRepositoryAssociations'>]-?: ReturnTypeFrom<'listRepositoryAssociations'>[K];
        }['RepositoryAssociationSummaries'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    putRecommendationFeedback: (params: ParamsFrom<'putRecommendationFeedback', Record<string, never>>) => Promise<ReturnTypeFrom<'putRecommendationFeedback'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    static fromClient(client: AWSCodeGuruReviewer): CodeGuruReviewer;
    static client(options?: AWSCodeGuruReviewer.Types.ClientConfiguration): CodeGuruReviewer;
}
export {};
