import type { ApplicationAll, EntityAll } from '../../../lib/types/application-all.ts';
import type { SourceAll } from '../../../lib/types/source-all.ts';
import type { SimpleTask, TaskTypes as BaseTasks } from '../../base/tasks.ts';
import type { WriteFileBlock, WriteFileSection } from '../../base-core/api.ts';
import type CoreGenerator from '../../base-core/generator.ts';
import type { TaskTypes } from '../tasks.ts';
import type { Application as BaseApplicationApplication, Entity as BaseApplicationEntity, Source as BaseApplicationSource } from '../types.ts';
export declare function asWriteFilesSection<Data = ApplicationAll>(section: WriteFileSection<Data>): WriteFileSection<any>;
export declare function asWriteFilesBlock<Data = ApplicationAll>(block: WriteFileBlock<Data>[]): WriteFileBlock<any>[];
export declare function asWriteFilesBlock<Data = ApplicationAll>(block: WriteFileBlock<Data>): WriteFileBlock<any>;
export declare function asWriteEntityFilesSection<Data = EntityAll & ApplicationAll>(section: WriteFileSection<Data>): WriteFileSection<any>;
export declare function asInitializingTask<const G extends CoreGenerator = CoreGenerator>(task: SimpleTask<G, BaseTasks['InitializingTaskParam']>): SimpleTask<any, BaseTasks['InitializingTaskParam']>;
export declare function asPromptingTask<const G extends CoreGenerator = CoreGenerator>(task: SimpleTask<G, BaseTasks['PromptingTaskParam']>): SimpleTask<any, BaseTasks['PromptingTaskParam']>;
export declare function asPostPreparingEachEntityTask<E extends BaseApplicationEntity = BaseApplicationEntity, A extends BaseApplicationApplication<E> = BaseApplicationApplication<E>, const G extends CoreGenerator = CoreGenerator>(task: (this: G, params: TaskTypes<E, A>['PostPreparingEachEntityTaskParam']) => void): (this: G, params: TaskTypes<E, A>["PostPreparingEachEntityTaskParam"]) => void;
export declare function asWritingTask<E extends BaseApplicationEntity = BaseApplicationEntity, A extends BaseApplicationApplication<E> = BaseApplicationApplication<E>, const G extends CoreGenerator = CoreGenerator>(task: (this: G, params: TaskTypes<E, A>['WritingTaskParam']) => void): (this: G, params: TaskTypes<E, A>["WritingTaskParam"]) => void;
export declare function asWritingEntitiesTask<E extends BaseApplicationEntity = BaseApplicationEntity, A extends BaseApplicationApplication<E> = BaseApplicationApplication<E>, const G extends CoreGenerator = CoreGenerator>(task: (this: G, params: TaskTypes<E, A>['WritingEntitiesTaskParam']) => void): (this: G, params: TaskTypes<E, A>["WritingEntitiesTaskParam"]) => void;
export declare function asPostWritingTask<E extends BaseApplicationEntity = BaseApplicationEntity, A extends BaseApplicationApplication<E> = BaseApplicationApplication<E>, S extends BaseApplicationSource = SourceAll, const G extends CoreGenerator = CoreGenerator>(task: (this: G, params: TaskTypes<E, A, S>['PostWritingTaskParam']) => void): (this: G, params: TaskTypes<E, A, S>["PostWritingTaskParam"]) => void;
export declare function asPostWritingEntitiesTask<E extends BaseApplicationEntity = BaseApplicationEntity, A extends BaseApplicationApplication<E> = BaseApplicationApplication<E>, S extends BaseApplicationSource = SourceAll, const G extends CoreGenerator = CoreGenerator>(task: (this: G, params: TaskTypes<E, A, S>['PostWritingEntitiesTaskParam']) => void): (this: G, params: TaskTypes<E, A, S>["PostWritingEntitiesTaskParam"]) => void;
