import { DeclarationReflection, ProjectReflection } from "typedoc";
/**
 * Class representing a group of modules.
 */
export declare class ModuleBundle {
    /** The project in which all modules are in. */
    private readonly project;
    /** The modules of the bundle. */
    private readonly modules;
    /**
     * Creates a new module bundle instance.
     * @param project The project in which all modules are in.
     */
    constructor(project: ProjectReflection);
    /**
     * Adds a module to the bundle.
     * @param module The module to add.
     */
    add(module: DeclarationReflection): void;
    /**
     * Merges the modules of the bundle into one module (or the given target override).
     * @param categorizationHasAlreadyHappened Defines if TypeDoc has already categorized the
     *                                         reflections in the modules of the bundle.
     * @param targetOverride A module to target, taking precendence over the bundle's search.
     */
    merge(categorizationHasAlreadyHappened: boolean, targetOverride?: DeclarationReflection | ProjectReflection): void;
    /**
     * Returns the module from the bundle that should be used as the target module.
     * @returns The target module.
     */
    private getTargetModule;
    /**
     * Moves all children and documents into the given target.
     * @param target The target into which the children and documents should be moved.
     */
    private moveChildrenAndDocumentsIntoTarget;
    /**
     * Moves the children from all modules' categories into the corresponding category of the given target.
     * @param target The target into whose categories the children should be moved.
     */
    private moveCategoriesIntoTarget;
    /**
     * Copies the category description comment tags into the the given target.
     * @param target The target into which the category descriptions are copied.
     */
    private copyCategoryDescriptionTagsIntoTarget;
    /**
     * Moves the children from all modules' groups into the corresponding group of the given target.
     * @param target The target into whose groups the children should be moved.
     */
    private moveGroupsIntoTarget;
    /**
     * Copies the group description comment tags into the the given target.
     * @param target The target into which the group descriptions are copied.
     */
    private copyGroupDescriptionTagsIntoTarget;
}
