declare const RepositoryGroup_base: {
    new (): {
        [x: string]: any;
        "__#2@#repositories": Map<any, any>;
        normalizeRepositoryName(name: string, forLookup: boolean): string;
        repository(name?: string): Promise<import("./repository.mjs").Repository | undefined>;
        repositories(patterns?: string[] | string): AsyncIterable<import("./repository.mjs").Repository>;
        lookup(type: string, name?: string, split?: Function, defaultItem?: any): Promise<OwnedObject | undefined>;
        list(type: string, patterns?: string[] | string, split?: Function, defaultItem?: any): AsyncIterable<OwnedObject>;
        createRepository(name: string, options?: any): Promise<import("./repository.mjs").Repository>;
        addRepository(name: string, options?: any): Promise<import("./repository.mjs").Repository>;
        _addRepository(repository: any): void;
        deleteRepository(name: string): Promise<any>;
        initializeRepositories(): void;
        branch(name: string): Promise<import("./branch.mjs").Branch | undefined>;
        branches(patterns?: string[] | string): AsyncIterable<import("./branch.mjs").Branch>;
        tag(name: any): Promise<OwnedObject>;
        tags(patterns: any): AsyncGenerator<OwnedObject, void, any>;
        pullRequest(name: any): Promise<OwnedObject>;
        pullRequests(patterns: any): AsyncGenerator<OwnedObject, void, any>;
        project(name: any): Promise<OwnedObject>;
        projects(patterns: any): AsyncGenerator<OwnedObject, void, any>;
        application(name: any): Promise<OwnedObject>;
        applications(patterns: any): AsyncGenerator<OwnedObject, void, any>;
        milestone(name: any): Promise<OwnedObject>;
        milestones(patterns: any): AsyncGenerator<OwnedObject, void, any>;
        hook(name: any): Promise<OwnedObject>;
        hooks(patterns: any): AsyncGenerator<OwnedObject, void, any>;
    };
    [x: string]: any;
};
/**
 * Abstract repository collection.
 * @param {BaseProvider} provider
 * @param {string} name of the group
 * @param {Object} [options]
 * @param {string} [options.description] human readable description
 * @param {string} [options.id] internal id
 * @param {string} [options.url] home
 *
 * @property {BaseProvider} provider
 * @property {string} name
 */
export class RepositoryGroup extends RepositoryGroup_base {
    static get addMethodName(): string;
    static get deleteMethodName(): string;
    static get type(): string;
    static get collectionName(): string;
    static get attributes(): any;
    /**
     * Map attributes between external and internal representation.
     */
    static get attributeMapping(): {};
    get isAdmin(): boolean;
    get areRepositoryNamesCaseSensitive(): any;
    get areRepositoryGroupNamesCaseSensitive(): any;
}
import { OwnedObject } from "./owned-object.mjs";
export {};
