import { FileTemplateData } from './file-template-data.js'; export declare enum OS { Unknown = "unknown", Mac = "mac", Windows = "windows", Linux = "linux" } export declare enum InstallType { Template = 0, Copy = 1 } export interface InstallFileDescriptor { type: InstallType; path: string; outputPath: string; } /** * Reads in a file template and returns the resulting file contents. * @param {string} filePath The path the file template. * @param {Record} values The template values. */ export declare function templateFile(filePath: string, values: T, templateOptions?: any): Promise; /** * Installs files to the destination directory. * @param files * @param dest * @param templateValues */ export declare function installFiles(files: InstallFileDescriptor[], templateData?: T, templateOptions?: any): Promise; /** * Forms an absolute path from either an absolute or relative path. * @param path The path to convert. * @param cwd The root directory to start in to form an absolute path from relative. */ export declare function absolutify(path: string, cwd: string): string; /** Executes a terminal command. */ export declare function runCommand(command: string, cwd?: string, live?: boolean): Promise; /** * Executes an async function with a progress display. * @param title The title of the task to display in the console. * @param fn The async task function execute. * @param quiet Whether to execute the task with output status messaging. */ export declare function runTask(title: string, fn: () => Promise, quiet?: boolean): Promise; /** * Formats hrtime. * @param hrtime */ export declare function formatHrTime(hrtime: any): string; /** * Determines if there are any glob characters within the provided string. */ export declare function isGlob(str: string): boolean;