export interface BuildNestControllerNameOptions { /** * @deprecated use `controller` instead */ controllerName?: string | null; /** * @deprecated use `module` instead */ nestModule?: string | null; controllerNameSuffix?: string | null; /** * The prefix to be joined with `-` to the controller name. * * true - the nestModule name will be used as prefix. * false - no prefix will be used. * string - the string will be used as prefix. */ prefix?: string | null | boolean; /** * The module name */ module?: string | null; /** * The controller name */ controller?: string | null; } /** * Constructs a controller name for a NestJS module based on provided options. * * This function generates a controller name by ensuring it appropriately includes the module name as a prefix * and adheres to any specified naming conventions such as suffixes. The function also handles edge cases where * the controller name or module name might be missing or already formatted. * * @param {BuildNestControllerNameOptions} options - The options for building the controller name, which include: * - `controllerName`: initial or current name of the controller. * - `nestModule`: the name of the NestJS module this controller belongs to. * - `controllerNameSuffix`: optional suffix to append to the controller name. * @returns {string} The fully constructed controller name. * @throws {Error} Throws an error if the controller name cannot be determined. * @throws {Error} Throws an error if the resulting controller name ends with a dash. * * ### Usage * * const options = { * controllerName: "User", * nestModule: "Admin", * controllerNameSuffix: "Controller" * }; * const controllerName = BuildNestControllerName(options); * // Returns "Admin-UserController" * ``` */ export declare function BuildNestControllerName(options: BuildNestControllerNameOptions): string;