import type { Control, Source as BaseSource } from './types.ts'; export type SimpleTask = (this: G, params: Param) => void | Promise; export type TaskParamWithControl = { control: Control; }; export type TaskParamWithSource = TaskParamWithControl & { source: S; }; export type TaskTypes = { InitializingTaskParam: TaskParamWithControl; PromptingTaskParam: TaskParamWithControl; ConfiguringTaskParam: TaskParamWithControl; ComposingTaskParam: TaskParamWithControl; LoadingTaskParam: TaskParamWithControl; PreparingTaskParam: TaskParamWithSource; PostPreparingTaskParam: TaskParamWithSource; DefaultTaskParam: TaskParamWithControl; WritingTaskParam: TaskParamWithControl & { configChanges?: Record }; PostWritingTaskParam: TaskParamWithSource; PreConflictsTaskParam: TaskParamWithControl; InstallTaskParam: TaskParamWithControl; PostInstallTaskParam: TaskParamWithControl; EndTaskParam: TaskParamWithControl; };