import type { ExecutionTools } from '../execution/ExecutionTools';
import type { PersonaPreparedJson } from '../pipeline/PipelineJson/PersonaJson';
import type { PrepareAndScrapeOptions } from '../prepare/PrepareAndScrapeOptions';
import type { string_persona_description } from '../types/typeAliases';
/**
 * Prepares the persona for the pipeline
 *
 * @see https://github.com/webgptorg/promptbook/discussions/22
 * @public exported from `@promptbook/core`
 */
export declare function preparePersona(personaDescription: string_persona_description, tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions): Promise<Pick<PersonaPreparedJson, 'modelsRequirements'>>;
/**
 * TODO: [😩] DRY `preparePersona` and `selectBestModelFromAvailable`
 * TODO: [🔃][main] If the persona was prepared with different version or different set of models, prepare it once again
 * TODO: [🏢] Check validity of `modelName` in pipeline
 * TODO: [🏢] Check validity of `systemMessage` in pipeline
 * TODO: [🏢] Check validity of `temperature` in pipeline
 */
