/**
 * Read the settings.js file and return the
 *
 * @return Object.<String>
 */
export function customFunctionsStatus(): {};
/**
 * Read the user-defined custom_functions/routes directory and return the file names
 *
 * @return Array.<String>
 */
export function getCustomFunctions(): {};
/**
 * Read the specified functionName file in the custom_functions/routes directory and return the file content
 *
 * @param {NodeObject} req
 * @returns {string}
 */
export function getCustomFunction(req: NodeObject): string;
/**
 * Write the supplied function_content to the provided functionName file in the custom_functions/routes directory
 *
 * @param {NodeObject} req
 * @returns {{message:string}}
 */
export function setCustomFunction(req: NodeObject): {
    message: string;
};
/**
 * Delete the provided functionName file from the custom_functions/routes directory
 *
 * @param {NodeObject} req
 * @returns {{message:string}}
 */
export function dropCustomFunction(req: NodeObject): {
    message: string;
};
/**
 * Create a new project folder in the components folder and copy the template into it
 * @param {NodeObject} req
 * @returns {{message:string}}
 */
export function addComponent(req: NodeObject): {
    message: string;
};
/**
 * Remove a project folder from the custom_functions folder
 *
 * @param {NodeObject} req
 * @returns {string}
 */
export function dropCustomFunctionProject(req: NodeObject): string;
/**
 * Will package a component into a temp tar file then output that file as a base64 string.
 * Req can accept a skip_node_modules boolean which will skip the node mods when creating temp tar file.
 * @param req
 * @returns {Promise<{payload: *, project}>}
 */
export function packageComponent(req: any): Promise<{
    payload: any;
    project: any;
}>;
/**
 * Can deploy a component in multiple ways. If a 'package' is provided all it will do is write that package to
 * harperdb-config, when HDB is restarted the package will be installed in hdb/nodeModules. If a base64 encoded string is passed it
 * will write string to a temp tar file and extract that file into the deployed project in hdb/components.
 * @param req
 * @returns {Promise<string>}
 */
export function deployComponent(req: any): Promise<string>;
/**
 * Gets a JSON directory tree of the components dir and all nested files/folders
 * @returns {Promise<*>}
 */
export function getComponents(): Promise<any>;
/**
 * Gets the contents of a component file
 * @param req
 * @returns {Promise<*>}
 */
export function getComponentFile(req: any): Promise<any>;
/**
 * Used to update or create a component file
 * @param req
 * @returns {Promise<{message:string}>}
 */
export function setComponentFile(req: any): Promise<{
    message: string;
}>;
/**
 * Deletes a component dir/file
 * @param req
 * @returns {Promise<{message:string}>}
 */
export function dropComponent(req: any): Promise<{
    message: string;
}>;
