import type { CnbConfig, Config } from '../types/config-types'; /** * loadUserConfig - This function attempts to load the user's custom configuration file. * It checks for two possible config files: `cnb.config.ts` for TypeScript users and `cnb.config.cjs` * for CommonJS users. If it finds a valid file, it will load and return the configuration object. * * If an error occurs during loading, it logs an error message and exits the process. * If no config file is found, it logs a warning and returns an empty object, indicating that default * settings should be used. * * @returns {Partial} The user's configuration if found, or an empty object if not. */ export declare const loadUserConfig: () => Partial; /** * validateUserConfig - This function validates the user's configuration object to ensure it meets the required structure. * It checks that the `branchTypes` property is an array of strings and that the `maxDescriptionLength` is a positive number and the skipTicketId is a boolean and the ticketIdPrefix and the separator are passing the isValidBranchChars function. * If any validation fails, it logs an error message and exits the process. * If the configuration is valid, it returns true. * * @param {Partial} userConfig - The user's configuration object to validate. * * @returns {boolean} True if the configuration is valid, false otherwise. */ export declare const validateUserConfig: (userConfig: Partial) => boolean; /** * mergeConfigs - This function merges the user's configuration with the default configuration. * It ensures that if the user specifies custom `branchTypes`, they override the default array. * All other settings are merged such that the user's settings take precedence over the defaults. * * @param {Partial} userConfig - The configuration provided by the user, which may override default settings. * @param {Config} defaultConfig - The default configuration that will be used if the user does not provide one. * * @returns {CnbConfig} The final merged configuration, combining the user and default settings. */ export declare const mergeConfigs: (userConfig: Partial, defaultConfig: Config) => Config;