import * as yaml from 'yaml'; import Command from '../base'; import { Container, InitParams, InitPaths, Question } from '../types'; export default class Init extends Command { static description: string; static flags: { help: import("@oclif/parser/lib/flags").IBooleanFlag; }; questions: object[]; srcDir: string; destDir: string; initPrompts: Container; determineTemplate: (prompts: Container>>) => Promise<{ prompts: Container>>; templates: ("command" | "workflow" | "glue_code")[] | undefined; }>; determineQuestions: ({ prompts, templates, }: { prompts: Container>>; templates: ("command" | "workflow" | "glue_code")[]; }) => { questions: Question>[]; templates: ("command" | "workflow" | "glue_code")[]; }; askQuestions: ({ questions, templates, }: { questions: Question>[]; templates: ("command" | "workflow" | "glue_code")[]; }) => Promise<{ answers: Partial; templates: ("command" | "workflow" | "glue_code")[]; }>; determineInitPaths: ({ answers, templates, }: { answers: Partial; templates: ("command" | "workflow" | "glue_code")[]; }) => { initPaths: { sharedDir: string; destDir: string; }; initParams: { templates: ("command" | "workflow" | "glue_code")[]; commandName?: string | undefined; commandDescription?: string | undefined; workflowName?: string | undefined; workflowDescription?: string | undefined; help?: void | undefined; }; }; copyTemplateFiles: ({ initPaths, initParams, }: { initPaths: InitPaths; initParams: InitParams; }) => Promise<{ initPaths: InitPaths; initParams: InitParams; }>; customizePackageJson: ({ initPaths, initParams, }: { initPaths: InitPaths; initParams: InitParams; }) => Promise<{ initPaths: InitPaths; initParams: InitParams; }>; customizeYaml: ({ initPaths, initParams, }: { initPaths: InitPaths; initParams: InitParams; }) => Promise<{ initPaths: InitPaths; initParams: InitParams; }>; addHelpCommentsFor: (key: string, yamlDoc: yaml.ast.Document) => void; customizeOpsYaml: (initParams: InitParams, yamlDoc: yaml.ast.Document) => Promise; customizeWorkflowYaml: (initParams: InitParams, yamlDoc: yaml.ast.Document) => Promise; logMessages: ({ initPaths, initParams, }: { initPaths: InitPaths; initParams: InitParams; }) => Promise<{ initPaths: InitPaths; initParams: InitParams; }>; logCommandMessage: (initParams: InitParams) => void; logWorkflowMessage: (initParams: InitParams) => void; logSuccessMessage: (templates: ("command" | "workflow" | "glue_code")[]) => void; sendAnalytics: ({ initPaths, initParams, }: { initPaths: InitPaths; initParams: InitParams; }) => Promise; private getNameAndDescription; private _validateName; private _validateDescription; run(): Promise; }