import * as pino from 'pino'; import yargs from 'yargs'; export interface SynthesizeCliOptions extends yargs.Arguments { outdir: string; blueprint: string; options: string; existingBundle?: string; cache: boolean; cleanUp: boolean; } export type SynthesisRunTime = 'node' | 'ts-node'; export interface DriverFile { path: string; runtime: SynthesisRunTime; } export interface SynthOptions { blueprintPath: string; blueprintOptions: any; jobname: string; /** * Creates the output directory if it doesn't exist */ outputDirectory: string; /** * Path to existing bundle context codebase */ existingBundle: string; synthDriver?: DriverFile; cleanUp: boolean; envVariables?: { [key: string]: string; }; } /** * I call synth on a blueprint * 1. I expect the blueprint to then figure out which type of synthesis i'm running * a. normal quick synthesis * b. cache synthesis * c. build a cache * 2. figure out where my synthesis will end up going * 2. figure out the option(s) the blueprint will take * 3. run a synthesis for each * @param log * @param options */ export declare function synthesize(log: pino.BaseLogger, options: SynthOptions): Promise; export declare const makeSynthDriverFile: (_log: pino.BaseLogger, options: { blueprintLocation: string; synthDriver?: DriverFile; }) => DriverFile;