import { LogProvider, Platform } from "@microsoft/teamsfx-api"; import { SampleUrlInfo } from "../../common/samples"; export interface GeneratorContext { name: string; language?: string; platform?: Platform; destination: string; logProvider: LogProvider; tryLimits?: number; timeoutInMs?: number; sampleInfo?: SampleUrlInfo; fallback?: boolean; outputs?: string[]; filterFn?: (name: string) => boolean; fileNameReplaceFn?: (name: string, data: Buffer) => string; fileDataReplaceFn?: (name: string, data: Buffer) => Buffer | string; onActionStart?: (action: GeneratorAction, context: GeneratorContext) => Promise; onActionEnd?: (action: GeneratorAction, context: GeneratorContext) => Promise; onActionError: (action: GeneratorAction, context: GeneratorContext, error: Error) => Promise; } export interface GeneratorAction { name: string; run: (context: GeneratorContext) => Promise; } export declare enum GeneratorActionName { ScaffoldRemoteTemplate = "ScaffoldRemoteTemplate", ScaffoldLocalTemplate = "ScaffoldLocalTemplate", FetchSampleInfo = "FetchSampleInfo", DownloadDirectory = "DownloadDirectory" } export declare const ScaffoldRemoteTemplateAction: GeneratorAction; export declare const ScaffoldLocalTemplateAction: GeneratorAction; export declare const fetchSampleInfoAction: GeneratorAction; export declare const downloadDirectoryAction: GeneratorAction; export declare const TemplateActionSeq: GeneratorAction[]; export declare const SampleActionSeq: GeneratorAction[]; //# sourceMappingURL=generatorAction.d.ts.map