import type { ExecutionTools } from '../execution/ExecutionTools';
import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
import type { PipelineString } from '../pipeline/PipelineString';
import type { PrepareAndScrapeOptions } from '../prepare/PrepareAndScrapeOptions';
/**
 * Compile pipeline from string (markdown) format to JSON format
 *
 * Note: This function does not validate logic of the pipeline only the parsing
 * Note: This function acts as compilation process
 *
 * @see https://github.com/webgptorg/promptbook/discussions/196
 * @param pipelineString {Promptbook} in string markdown format (.book.md)
 * @param tools - Tools for the preparation and scraping - if not provided together with `llm`, the preparation will be skipped
 * @param options - Options and tools for the compilation
 * @returns {Promptbook} compiled in JSON format (.bookc)
 * @throws {ParseError} if the promptbook string is not valid
 *
 * @public exported from `@promptbook/core`
 */
export declare function compilePipeline(pipelineString: PipelineString, tools?: Pick<ExecutionTools, 'llm' | 'fs' | 'scrapers'>, options?: PrepareAndScrapeOptions): Promise<PipelineJson>;
