import { SetRequired } from 'type-fest';
import type { string_formfactor_name } from '../../formfactors/_common/string_formfactor_name';
import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
import type { NonEmptyReadonlyArray } from '../../types/NonEmptyArray';
/**
 * Internal cache for the `getBookTemplates` function, storing retrieved pipelines.
 *
 * @singleton
 * @private internal cache of `getBookTemplate`
 */
export declare let pipelines: Array<SetRequired<PipelineJson, 'pipelineUrl'>> | null;
/**
 * Retrieves a collection of Promptbook templates.
 *
 * @param formfactorName - optional filter for FORMFACTOR - get only pipelines for this formfactor
 * @returns list of pipelines
 * @public exported from `@promptbook/templates`
 */
export declare function getBookTemplates(formfactorName?: string_formfactor_name): NonEmptyReadonlyArray<SetRequired<PipelineJson, 'pipelineUrl'>>;
/**
 * TODO: Unit test + test that what we guarantee - always return non-empty array is true for e
 * TODO: [🧠] Which is the best place for this function
 * TODO: !!6 For GENERIC template ensure at least one pipeline is present for typescript in `getBookTemplates`
 */
