/**
 * Repository on GitHub.
 */
export class GithubRepository extends Repository {
    static get attributes(): {
        auto_init: import("pacc").AttributeDefinition;
        size: import("pacc").AttributeDefinition;
        language: import("pacc").AttributeDefinition;
        gitignore_template: import("pacc").AttributeDefinition;
        license_template: import("pacc").AttributeDefinition;
        allow_squash_merge: import("pacc").AttributeDefinition;
        allow_merge_commit: import("pacc").AttributeDefinition;
        allow_rebase_merge: import("pacc").AttributeDefinition;
        allow_auto_merge: import("pacc").AttributeDefinition;
        delete_branch_on_merge: import("pacc").AttributeDefinition;
        issuesURL: import("pacc").AttributeDefinition;
        squash_merge_commit_title: import("pacc").AttributeDefinition;
        squash_merge_commit_message: import("pacc").AttributeDefinition;
        merge_commit_title: import("pacc").AttributeDefinition;
        merge_commit_message: import("pacc").AttributeDefinition;
        url: import("pacc").AttributeDefinition;
        defaultBranchName: {
            default: string;
            type: string;
            isKey: boolean;
            writable: boolean;
            mandatory: boolean;
            private?: boolean;
            depends?: string;
            additionalAttributes: string[];
            description?: string;
            set?: Function;
            get?: Function;
            env?: string[] | string;
        };
        cloneURL: import("pacc").AttributeDefinition;
        isArchived: import("pacc").AttributeDefinition;
        isLocked: import("pacc").AttributeDefinition;
        isDisabled: import("pacc").AttributeDefinition;
        isTemplate: import("pacc").AttributeDefinition;
        isFork: import("pacc").AttributeDefinition;
        id: import("pacc").AttributeDefinition;
        name: import("pacc").AttributeDefinition;
        description: import("pacc").AttributeDefinition;
    };
    /**
     * {@link https://docs.github.com/en/rest/reference/commits#list-commits}
     * @param {Object} options
     * @returns {AsyncIterable<Commit>}
     */
    commits(options: any): AsyncIterable<Commit>;
    addCommit(tree: any, parents: any, message: any): Promise<any>;
    /**
     * {@link https://developer.github.com/v3/git/commits/#get-a-commit}
     * @param {string} sha
     * @return {Promise<Object>} response
     */
    commitForSha(sha: string): Promise<any>;
    /**
     * @see https://developer.github.com/v3/git/trees/
     * @param {string} sha
     * @return {Promise<Object[]>}
     */
    tree(sha: string): Promise<any[]>;
    /**
     * @see https://developer.github.com/v3/git/trees/
     * @param {Object[]} updates
     * @param {string} base base tree sha
     * @returns {Promise<Object>} newly created tree
     */
    addTree(updates: any[], base: string): Promise<any>;
    /**
     * {@link https://developer.github.com/v3/repos/branches/#list-branches}
     */
    initializeBranches(): Promise<void>;
    /**
     * {@link https://docs.github.com/en/rest/reference/repos#list-repository-tags}
     */
    initializeTags(): Promise<void>;
    /**
     * {@link https://docs.github.com/de/rest/repos/repos?apiVersion=2022-11-28#update-a-repository}
     */
    update(): Promise<any>;
    /**
     * @param {string} ref
     * @param {string} sha
     */
    _setRefId(ref: string, sha: string): void;
    /**
     * {@link https://docs.github.com/en/github-ae@latest/rest/git/refs#update-a-reference}
     * @param {string} ref
     * @param {string} sha
     * @param {Object} options
     * @returns {Promise<Object>}
     *
     */
    setRefId(ref: string, sha: string, options: any): Promise<any>;
    createBranch(name: any, from: any, options: any): Promise<import("repository-provider").Branch>;
    deleteBranch(name: any): Promise<any>;
    /**
     * {@link https://developer.github.com/v3/pulls/#update-a-pull-request}
     *
     * @param {string} name
     */
    deletePullRequest(name: string): Promise<void>;
    /**
     * {@link https://developer.github.com/v3/repos/hooks/}
     */
    initializeHooks(): Promise<void>;
    #private;
}
import { Repository } from "repository-provider";
import { Commit } from "repository-provider";
