import { InjectionAdditionAction, InjectionDeletionAction } from "engine"; export declare class Engine { constructor(); /** * Check if all the files exists in the current directory and return the missing ones * * @param files The list of the files * @returns The missing files */ protected missingFiles(files: string[]): string[]; /** * Injects the 'addition' string at the 'keyword' index inside the 'original' string * * @param original The original string * @param keyword The injection string to be found (inject at the start if equals one star '*', and at the end if equals two stars '**') * @param addition The content string to be added to the original file * @param supposedToBeThere If a string was provided, abort the injection action IF the string was found in the original string * @returns The resultant string */ protected injectString({ original, keyword, addition: { base, conditional: { type, data }, }, replica, }: InjectionAdditionAction & { original: string; }): Promise; /** ** Recursively inject the targets into the injectable string * * @param actions[] A list of injection objects (check the injectTemplates function for more details) * @param injectableContents The accumulated result of the original content after injecting all the action objects * @returns The final result of the file after injecting all the contents */ protected additionAction(props: { additions: InjectionAdditionAction[]; injectableContents: string; }): Promise; protected deletionAction(props: { deletions: InjectionDeletionAction[]; injectableContents: string; }): Promise; }