import type { PartialDeep, Promisable, ReadonlyDeep, WritableDeep } from 'type-fest';
import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
import type { TaskJson } from '../../pipeline/PipelineJson/TaskJson';
import type { Parameters } from '../../types/typeAliases';
import type { ExecutionReportJson } from '../execution-report/ExecutionReportJson';
import type { PipelineExecutorResult } from '../PipelineExecutorResult';
import type { CreatePipelineExecutorOptions } from './00-CreatePipelineExecutorOptions';
/**
 * @@@
 *
 * @private internal type of `executeTask`
 */
type executeSingleTaskOptions = Required<CreatePipelineExecutorOptions> & {
    /**
     * @@@
     */
    readonly currentTask: ReadonlyDeep<TaskJson>;
    /**
     * @@@
     */
    readonly preparedPipeline: ReadonlyDeep<PipelineJson>;
    /**
     * @@@
     */
    readonly parametersToPass: Readonly<Parameters>;
    /**
     * @@@
     */
    readonly onProgress: (newOngoingResult: PartialDeep<PipelineExecutorResult>) => Promisable<void>;
    /**
     * @@@
     */
    readonly $executionReport: WritableDeep<ExecutionReportJson>;
    /**
     * @@@
     */
    readonly pipelineIdentification: string;
};
/**
 * @@@
 *
 * @private internal utility of `createPipelineExecutor`
 */
export declare function executeTask(options: executeSingleTaskOptions): Promise<Readonly<Parameters>>;
export {};
/**
 * TODO: [🤹‍♂️]
 */
