/// export * from '@platform/npm/lib/types'; export * from './common/prompt/types'; export declare type ITemplateSource = { dir: string; pattern?: string; targetDir?: string; }; export declare type ITemplateFile = { base: string; source: string; target: string; isBinary: boolean; }; export declare type IVariables = { [key: string]: any; }; export declare type TemplateFilter = (file: ITemplateFile) => boolean; export declare type ITemplateEvent = IExecuteTemplateStart | IExecuteTemplateComplete | ITemplateAlert; export declare type IExecutePayload = { files: ITemplateFile[]; }; export declare type IExecuteTemplateStart = { type: 'EXECUTE/start'; payload: IExecutePayload; }; export declare type IExecuteTemplateComplete = { type: 'EXECUTE/complete'; payload: IExecutePayload; }; export declare type ITemplateAlertPayload = { message: string; }; export declare type ITemplateAlert = { type: 'ALERT'; payload: ITemplateAlertPayload; }; export declare type TemplateMiddleware = (req: ITemplateRequest, res: ITemplateResponse) => any | Promise; export declare type TemplatePathFilter = RegExp; export declare type ITemplateRequest = { path: { source: string; target: string; }; buffer: Buffer; text?: string; isBinary: boolean; variables: V; }; export declare type AfterTemplateMiddleware = 'NEXT' | 'COMPLETE'; export declare type ITemplateResponse = { text: string | undefined; replaceText: ReplaceTemplateText; alert: (e: T) => ITemplateResponse; next: () => void; complete: () => void; done: (next?: AfterTemplateMiddleware) => void; }; export declare type ReplaceTemplateText = (searchValue: { [Symbol.replace](string: string, replaceValue: string): string; }, replaceValue: string) => ITemplateResponse;