import { Request, CodeCommit as AWSCodeCommit } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSCodeCommit> = AWSCodeCommit[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSCodeCommit, Extras> = AWSCodeCommit[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class CodeCommit {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "codecommit";
    readonly global: false;
    readonly category: "Developer Tools";
    readonly topLevelCalls: readonly ["listApprovalRuleTemplates", "listRepositories"];
    associateApprovalRuleTemplateWithRepository: (params: ParamsFrom<'associateApprovalRuleTemplateWithRepository', Record<string, never>>) => Promise<ReturnTypeFrom<'associateApprovalRuleTemplateWithRepository'>>;
    batchAssociateApprovalRuleTemplateWithRepositories: (params: ParamsFrom<'batchAssociateApprovalRuleTemplateWithRepositories', Record<string, never>>) => Promise<ReturnTypeFrom<'batchAssociateApprovalRuleTemplateWithRepositories'>>;
    batchDescribeMergeConflicts: (params: ParamsFrom<'batchDescribeMergeConflicts', Record<string, never>>) => Promise<ReturnTypeFrom<'batchDescribeMergeConflicts'>>;
    batchDisassociateApprovalRuleTemplateFromRepositories: (params: ParamsFrom<'batchDisassociateApprovalRuleTemplateFromRepositories', Record<string, never>>) => Promise<ReturnTypeFrom<'batchDisassociateApprovalRuleTemplateFromRepositories'>>;
    batchGetCommits: (params: ParamsFrom<'batchGetCommits', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetCommits'>>;
    batchGetRepositories: (params: ParamsFrom<'batchGetRepositories', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetRepositories'>>;
    createApprovalRuleTemplate: (params: ParamsFrom<'createApprovalRuleTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'createApprovalRuleTemplate'>>;
    createBranch: (params: ParamsFrom<'createBranch', Record<string, never>>) => Promise<ReturnTypeFrom<'createBranch'>>;
    createCommit: (params: ParamsFrom<'createCommit', Record<string, never>>) => Promise<ReturnTypeFrom<'createCommit'>>;
    createPullRequest: (params: ParamsFrom<'createPullRequest', Record<string, never>>) => Promise<ReturnTypeFrom<'createPullRequest'>>;
    createPullRequestApprovalRule: (params: ParamsFrom<'createPullRequestApprovalRule', Record<string, never>>) => Promise<ReturnTypeFrom<'createPullRequestApprovalRule'>>;
    createRepository: (params: ParamsFrom<'createRepository', Record<string, never>>) => Promise<ReturnTypeFrom<'createRepository'>>;
    createUnreferencedMergeCommit: (params: ParamsFrom<'createUnreferencedMergeCommit', Record<string, never>>) => Promise<ReturnTypeFrom<'createUnreferencedMergeCommit'>>;
    deleteApprovalRuleTemplate: (params: ParamsFrom<'deleteApprovalRuleTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteApprovalRuleTemplate'>>;
    deleteBranch: (params: ParamsFrom<'deleteBranch', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteBranch'>>;
    deleteCommentContent: (params: ParamsFrom<'deleteCommentContent', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteCommentContent'>>;
    deleteFile: (params: ParamsFrom<'deleteFile', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteFile'>>;
    deletePullRequestApprovalRule: (params: ParamsFrom<'deletePullRequestApprovalRule', Record<string, never>>) => Promise<ReturnTypeFrom<'deletePullRequestApprovalRule'>>;
    deleteRepository: (params: ParamsFrom<'deleteRepository', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRepository'>>;
    describeMergeConflicts: (params: ParamsFrom<'describeMergeConflicts', Record<string, never>>) => Promise<ReturnTypeFrom<'describeMergeConflicts'>>;
    describePullRequestEvents: (params: ParamsFrom<'describePullRequestEvents', Record<string, never>>) => Promise<ReturnTypeFrom<'describePullRequestEvents'>>;
    disassociateApprovalRuleTemplateFromRepository: (params: ParamsFrom<'disassociateApprovalRuleTemplateFromRepository', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateApprovalRuleTemplateFromRepository'>>;
    evaluatePullRequestApprovalRules: (params: ParamsFrom<'evaluatePullRequestApprovalRules', Record<string, never>>) => Promise<ReturnTypeFrom<'evaluatePullRequestApprovalRules'>>;
    getApprovalRuleTemplate: (params: ParamsFrom<'getApprovalRuleTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'getApprovalRuleTemplate'>>;
    getBlob: (params: ParamsFrom<'getBlob', Record<string, never>>) => Promise<ReturnTypeFrom<'getBlob'>>;
    getBranch: (params: ParamsFrom<'getBranch', Record<string, never>>) => Promise<ReturnTypeFrom<'getBranch'>>;
    getComment: (params: ParamsFrom<'getComment', Record<string, never>>) => Promise<ReturnTypeFrom<'getComment'>>;
    getCommentReactions: (params: ParamsFrom<'getCommentReactions', Record<string, never>>) => Promise<ReturnTypeFrom<'getCommentReactions'>>;
    getCommentsForComparedCommit: (params: ParamsFrom<'getCommentsForComparedCommit', Record<string, never>>) => Promise<ReturnTypeFrom<'getCommentsForComparedCommit'>>;
    getCommentsForPullRequest: (params: ParamsFrom<'getCommentsForPullRequest', Record<string, never>>) => Promise<ReturnTypeFrom<'getCommentsForPullRequest'>>;
    getCommit: (params: ParamsFrom<'getCommit', Record<string, never>>) => Promise<ReturnTypeFrom<'getCommit'>>;
    getDifferences: (params: ParamsFrom<'getDifferences', Record<string, never>>) => Promise<ReturnTypeFrom<'getDifferences'>>;
    getFile: (params: ParamsFrom<'getFile', Record<string, never>>) => Promise<ReturnTypeFrom<'getFile'>>;
    getFolder: (params: ParamsFrom<'getFolder', Record<string, never>>) => Promise<ReturnTypeFrom<'getFolder'>>;
    getMergeCommit: (params: ParamsFrom<'getMergeCommit', Record<string, never>>) => Promise<ReturnTypeFrom<'getMergeCommit'>>;
    getMergeConflicts: (params: ParamsFrom<'getMergeConflicts', Record<string, never>>) => Promise<ReturnTypeFrom<'getMergeConflicts'>>;
    getMergeOptions: (params: ParamsFrom<'getMergeOptions', Record<string, never>>) => Promise<ReturnTypeFrom<'getMergeOptions'>>;
    getPullRequest: (params: ParamsFrom<'getPullRequest', Record<string, never>>) => Promise<ReturnTypeFrom<'getPullRequest'>>;
    getPullRequestApprovalStates: (params: ParamsFrom<'getPullRequestApprovalStates', Record<string, never>>) => Promise<ReturnTypeFrom<'getPullRequestApprovalStates'>>;
    getPullRequestOverrideState: (params: ParamsFrom<'getPullRequestOverrideState', Record<string, never>>) => Promise<ReturnTypeFrom<'getPullRequestOverrideState'>>;
    getRepository: (params: ParamsFrom<'getRepository', Record<string, never>>) => Promise<ReturnTypeFrom<'getRepository'>>;
    getRepositoryTriggers: (params: ParamsFrom<'getRepositoryTriggers', Record<string, never>>) => Promise<ReturnTypeFrom<'getRepositoryTriggers'>>;
    listApprovalRuleTemplates: (params: ParamsFrom<'listApprovalRuleTemplates', Record<string, never>>) => Promise<ReturnTypeFrom<'listApprovalRuleTemplates'>>;
    listAssociatedApprovalRuleTemplatesForRepository: (params: ParamsFrom<'listAssociatedApprovalRuleTemplatesForRepository', Record<string, never>>) => Promise<ReturnTypeFrom<'listAssociatedApprovalRuleTemplatesForRepository'>>;
    listBranches(params: {
        [K in keyof ParamsFrom<'listBranches', {
            next?: string;
        }>]: ParamsFrom<'listBranches', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listBranches'>]-?: ReturnTypeFrom<'listBranches'>[K];
        }['branches'];
    }>;
    listPullRequests: (params: ParamsFrom<'listPullRequests', Record<string, never>>) => Promise<ReturnTypeFrom<'listPullRequests'>>;
    listRepositories(params: {
        [K in keyof ParamsFrom<'listRepositories', {
            next?: string;
        }>]: ParamsFrom<'listRepositories', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listRepositories'>]-?: ReturnTypeFrom<'listRepositories'>[K];
        }['repositories'];
    }>;
    listRepositoriesForApprovalRuleTemplate: (params: ParamsFrom<'listRepositoriesForApprovalRuleTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'listRepositoriesForApprovalRuleTemplate'>>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    mergeBranchesByFastForward: (params: ParamsFrom<'mergeBranchesByFastForward', Record<string, never>>) => Promise<ReturnTypeFrom<'mergeBranchesByFastForward'>>;
    mergeBranchesBySquash: (params: ParamsFrom<'mergeBranchesBySquash', Record<string, never>>) => Promise<ReturnTypeFrom<'mergeBranchesBySquash'>>;
    mergeBranchesByThreeWay: (params: ParamsFrom<'mergeBranchesByThreeWay', Record<string, never>>) => Promise<ReturnTypeFrom<'mergeBranchesByThreeWay'>>;
    mergePullRequestByFastForward: (params: ParamsFrom<'mergePullRequestByFastForward', Record<string, never>>) => Promise<ReturnTypeFrom<'mergePullRequestByFastForward'>>;
    mergePullRequestBySquash: (params: ParamsFrom<'mergePullRequestBySquash', Record<string, never>>) => Promise<ReturnTypeFrom<'mergePullRequestBySquash'>>;
    mergePullRequestByThreeWay: (params: ParamsFrom<'mergePullRequestByThreeWay', Record<string, never>>) => Promise<ReturnTypeFrom<'mergePullRequestByThreeWay'>>;
    overridePullRequestApprovalRules: (params: ParamsFrom<'overridePullRequestApprovalRules', Record<string, never>>) => Promise<ReturnTypeFrom<'overridePullRequestApprovalRules'>>;
    postCommentForComparedCommit: (params: ParamsFrom<'postCommentForComparedCommit', Record<string, never>>) => Promise<ReturnTypeFrom<'postCommentForComparedCommit'>>;
    postCommentForPullRequest: (params: ParamsFrom<'postCommentForPullRequest', Record<string, never>>) => Promise<ReturnTypeFrom<'postCommentForPullRequest'>>;
    postCommentReply: (params: ParamsFrom<'postCommentReply', Record<string, never>>) => Promise<ReturnTypeFrom<'postCommentReply'>>;
    putCommentReaction: (params: ParamsFrom<'putCommentReaction', Record<string, never>>) => Promise<ReturnTypeFrom<'putCommentReaction'>>;
    putFile: (params: ParamsFrom<'putFile', Record<string, never>>) => Promise<ReturnTypeFrom<'putFile'>>;
    putRepositoryTriggers: (params: ParamsFrom<'putRepositoryTriggers', Record<string, never>>) => Promise<ReturnTypeFrom<'putRepositoryTriggers'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    testRepositoryTriggers: (params: ParamsFrom<'testRepositoryTriggers', Record<string, never>>) => Promise<ReturnTypeFrom<'testRepositoryTriggers'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateApprovalRuleTemplateContent: (params: ParamsFrom<'updateApprovalRuleTemplateContent', Record<string, never>>) => Promise<ReturnTypeFrom<'updateApprovalRuleTemplateContent'>>;
    updateApprovalRuleTemplateDescription: (params: ParamsFrom<'updateApprovalRuleTemplateDescription', Record<string, never>>) => Promise<ReturnTypeFrom<'updateApprovalRuleTemplateDescription'>>;
    updateApprovalRuleTemplateName: (params: ParamsFrom<'updateApprovalRuleTemplateName', Record<string, never>>) => Promise<ReturnTypeFrom<'updateApprovalRuleTemplateName'>>;
    updateComment: (params: ParamsFrom<'updateComment', Record<string, never>>) => Promise<ReturnTypeFrom<'updateComment'>>;
    updateDefaultBranch: (params: ParamsFrom<'updateDefaultBranch', Record<string, never>>) => Promise<ReturnTypeFrom<'updateDefaultBranch'>>;
    updatePullRequestApprovalRuleContent: (params: ParamsFrom<'updatePullRequestApprovalRuleContent', Record<string, never>>) => Promise<ReturnTypeFrom<'updatePullRequestApprovalRuleContent'>>;
    updatePullRequestApprovalState: (params: ParamsFrom<'updatePullRequestApprovalState', Record<string, never>>) => Promise<ReturnTypeFrom<'updatePullRequestApprovalState'>>;
    updatePullRequestDescription: (params: ParamsFrom<'updatePullRequestDescription', Record<string, never>>) => Promise<ReturnTypeFrom<'updatePullRequestDescription'>>;
    updatePullRequestStatus: (params: ParamsFrom<'updatePullRequestStatus', Record<string, never>>) => Promise<ReturnTypeFrom<'updatePullRequestStatus'>>;
    updatePullRequestTitle: (params: ParamsFrom<'updatePullRequestTitle', Record<string, never>>) => Promise<ReturnTypeFrom<'updatePullRequestTitle'>>;
    updateRepositoryDescription: (params: ParamsFrom<'updateRepositoryDescription', Record<string, never>>) => Promise<ReturnTypeFrom<'updateRepositoryDescription'>>;
    updateRepositoryName: (params: ParamsFrom<'updateRepositoryName', Record<string, never>>) => Promise<ReturnTypeFrom<'updateRepositoryName'>>;
    static fromClient(client: AWSCodeCommit): CodeCommit;
    static client(options?: AWSCodeCommit.Types.ClientConfiguration): CodeCommit;
}
export {};
