import { CommentTag, Context, DeclarationReflection, DocumentReflection, ProjectReflection } from "typedoc";
/**
 * Tries to determine the original name of a reflection.
 * @param context The TypeDoc context.
 * @param reflection The reflection whose original name is wanted.
 * @returns The original name of the reflection or undefined if it could not be determined.
 */
export declare function tryGetOriginalReflectionName(context: Readonly<Context>, reflection: DeclarationReflection): string | undefined;
/**
 * Removes a possible tag from the comments of the given reflection.
 * @param reflection The reflection from which the tag should be removed.
 * @param tagToRemove Name of the tag to be removed.
 */
export declare function removeTagFromCommentsOf(reflection: DeclarationReflection | ProjectReflection, tagToRemove: string): void;
/**
 * Adds the given declaration reflection to the given target.
 * @param ref The declaration reflection which should be added to the target.
 * @param target The target to which to add the declaration reflection.
 */
export declare function addDeclarationReflectionToTarget(ref: DeclarationReflection, target: ProjectReflection | DeclarationReflection): void;
/**
 * Removes the given declaration reflection from its module.
 * @param ref The declaration reflection which should be removed from its module.
 * @throws {Error} If the given reflection is not within a module.
 */
export declare function removeDeclarationReflectionFromModule(ref: DeclarationReflection): void;
/**
 * Adds the given document reflection to the given target.
 * @param ref The document reflection which should be added to the target.
 * @param target The target to which to add the document reflection.
 */
export declare function addDocumentReflectionToTarget(ref: DocumentReflection, target: ProjectReflection | DeclarationReflection): void;
/**
 * Removes the given document reflection from its module.
 * @param ref The document reflection which should be removed from its module.
 * @throws {Error} If the given reflection is not within a module.
 */
export declare function removeDocumentReflectionFromModule(ref: DocumentReflection): void;
/**
 * Moves a declaration reflection to the given target.
 * @param ref The declaration reflection that should be moved.
 * @param target The target into which the declaration reflection should be moved.
 */
export declare function moveDeclarationReflectionToTarget(ref: DeclarationReflection, target: DeclarationReflection | ProjectReflection): void;
/**
 * Moves a document reflection to the given target.
 * @param ref The document reflection that should be moved.
 * @param target The target into which the document reflection should be moved.
 */
export declare function moveDocumentReflectionToTarget(ref: DocumentReflection, target: DeclarationReflection | ProjectReflection): void;
/**
 * Returns the modules within the given module parent. Searches recursively.
 * @param moduleParent The element in which to search for modules.
 * @returns The modules within the given module parent.
 */
export declare function getModulesFrom(moduleParent: ProjectReflection | DeclarationReflection): DeclarationReflection[];
/**
 * Returns the name of the given description tag.
 * @param tag The description tag.
 * @returns The name of the given description tag.
 */
export declare function getNameFromDescriptionTag(tag: CommentTag): string;
