import type { ExecutionTools } from '../execution/ExecutionTools';
import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
import type { TaskJson } from '../pipeline/PipelineJson/TaskJson';
import type { PrepareAndScrapeOptions } from './PrepareAndScrapeOptions';
/**
 * Type describing prepare task input.
 */
type PrepareTaskInput = Pick<PipelineJson, 'tasks' | 'parameters'> & {
    /**
     * The number of knowledge pieces available for the pipeline.
     */
    readonly knowledgePiecesCount: number;
};
/**
 * Type describing prepared tasks.
 */
type PreparedTasks = {
    /**
     * The sequence of tasks after preparation.
     */
    readonly tasksPrepared: ReadonlyArray<TaskJson>;
};
/**
 * Prepares tasks by adding knowledge to the prompt and ensuring all necessary parameters are included.
 *
 * @param tasks Sequence of tasks that are chained together to form a pipeline
 * @returns A promise that resolves to the prepared tasks.
 *
 * @private internal utility of `preparePipeline`
 */
export declare function prepareTasks(pipeline: PrepareTaskInput, tools: Pick<ExecutionTools, 'llm' | 'fs' | 'scrapers'>, options: PrepareAndScrapeOptions): Promise<PreparedTasks>;
export {};
