import type { AlgobConfig, ConfigExtender, ProjectPaths, ResolvedAlgobConfig, UserPaths } from "../../../types"; /** * This functions resolves the algob config by merging the user provided config * and the algob default config. * * @param userConfigPath the user config filepath * @param defaultConfig the algob's default config object * @param userConfig the user config object * @param configExtenders An array of ConfigExtenders * * @returns the resolved config */ export declare function resolveConfig(userConfigPath: string | undefined, defaultConfig: AlgobConfig, userConfig: AlgobConfig, configExtenders: ConfigExtender[]): ResolvedAlgobConfig; /** * This function resolves the ProjectPaths object from the user-provided config * and its path. The logic of this is not obvious and should well be document. * The good thing is that most users will never use this. * * Explanation: * - paths.configFile is not overridable * - If a path is absolute it is used "as is". * - If the root path is relative, it's resolved from paths.configFile's dir. * - If any other path is relative, it's resolved from paths.root. */ export declare function resolveProjectPaths(userConfigPath: string, userPaths?: UserPaths): ProjectPaths;