/**
 * A thing that creates {@linkcode typedoc#DeclarationReflection} instances from parsed
 * command & execute method data.
 * @module
 */
import { ContainerReflection, Context, DeclarationReflection, ProjectReflection } from 'typedoc';
import { AppiumPluginLogger } from '../logger';
import { ExtensionReflection, ProjectCommands } from '../model';
/**
 * Creates custom {@linkcode typedoc#DeclarationReflection}s from parsed command & execute method data.
 *
 * These instances are added to the {@linkcode Context} object itself; this mutates TypeDoc's internal state. Nothing is returned.
 * @param ctx TypeDoc Context
 * @param parentLog Plugin logger
 * @param projectCmds Command info from converter; a map of parent reflections to parsed data
 * @returns List of {@linkcode ExtensionReflection} instances
 */
export declare function createReflections(ctx: Context, parentLog: AppiumPluginLogger, projectCmds: ProjectCommands): ExtensionReflection[];
/**
 * Removes any reflection _not_ created by this plugin from the TypeDoc refl _except_ those
 * created by this plugin.
 * @param project - Current TypeDoc project
 * @param refl - A {@linkcode ContainerReflection} to remove children from; defaults to `project`
 * @returns A set of removed {@linkcode DeclarationReflection DeclarationReflections}
 */
export declare function omitDefaultReflections(project: ProjectReflection, refl?: ContainerReflection): Set<DeclarationReflection>;
/**
 * Removes extension reflection(s) which are part of Appium itself.  This is desirable for most
 * extension authors.
 * @param project - Current TypeDoc project
 * @param refl - A {@linkcode ContainerReflection} to remove children from; defaults to `project`
 * @returns A set of removed {@linkcode DeclarationReflection}s
 */
export declare function omitBuiltinReflections(project: ProjectReflection, refl?: ContainerReflection): Set<DeclarationReflection>;
//# sourceMappingURL=builder.d.ts.map