import { Application } from "typedoc";
/** Type for the plugin's mode. */
type Mode = "project" | "module" | "module-category" | "off";
/**
 * Extend typedoc's options with the plugin's option using declaration merging.
 */
declare module "typedoc" {
    interface TypeDocOptionMap extends Required<PluginConfig> {
    }
}
/**
 * A type for the options of the plugin.
 */
export type PluginConfig = {
    /** Defines if the plugin should rename default exports to their original name. */
    mergeModulesRenameDefaults?: boolean;
    /** Defines how the plugin should merge modules. */
    mergeModulesMergeMode?: Mode;
};
/**
 * Class storing the options of the plugin.
 */
export declare class PluginOptions {
    /** Defines if the plugin should rename default exports to their original name. */
    private _renameDefaults;
    /** Defines how the plugin should merge modules. */
    private _mode;
    /**
     * Returns if the plugin should rename default exports to their original name.
     * @returns True, if the plugin should rename default exports to their original name, otherwise false.
     */
    get renameDefaults(): boolean;
    /**
     * Returns how the plugin should merge modules.
     * @returns How the plugin should merge modules.
     */
    get mode(): Mode;
    /**
     * Adds the command line options of the plugin to the TypeDoc application.
     * @param typedoc The TypeDoc application.
     */
    addToApplication(typedoc: Readonly<Application>): void;
    /**
     * Reads the values of the plugin options from the application options.
     * @param typedoc The TypeDoc application.
     */
    readValuesFromApplication(typedoc: Readonly<Application>): void;
}
export {};
