import type { Content, Part, ModelParams, AiCapability, ModelMetadata } from './types'; /** * Formats the various supported formats of new user content into a consistent content shape. * * @since 0.1.0 * * @param content - New content. * @returns The formatted new content. */ export declare function formatNewContent(content: string | Part[] | Content): Content; /** * Performs some very basic client-side validation for the content argument. * * @since 0.1.0 * * @param content - Content data to pass to the model, including the prompt and optional history. */ export declare function validateContent(content: string | Part[] | Content | Content[]): void; /** * Validates the chat history. * * @since 0.1.0 * * @param history - Chat history contents. */ export declare function validateChatHistory(history: Content[]): void; /** * Validates the model parameters. * * @since 0.3.0 * * @param modelParams - Model parameters. */ export declare function validateModelParams(modelParams: ModelParams): void; /** * Validates the given available capabilities include all requested capabilities. * * @since 0.3.0 * * @param availableCapabilities - Available capabilities. * @param requestedCapabilities - Requested capabilities. */ export declare function validateCapabilities(availableCapabilities: AiCapability[], requestedCapabilities: AiCapability[]): void; /** * Detects the requested capabilities from the content. * * @since 0.3.0 * * @param content - Content data to pass to the model, including the prompt and optional history. * @param baseCapabilities - Optional. Base capabilities to include in the detected capabilities. * @returns Detected capabilities. */ export declare function detectRequestedCapabilitiesFromContent(content: string | Part[] | Content | Content[], baseCapabilities?: AiCapability[]): AiCapability[]; /** * Finds a model from the available models based on the given model parameters. * * An exception is thrown if no matching model is found based on the given model parameters. * * @since 0.3.0 * * @param availableModels - Metadata for each model, mapped by model slug. * @param modelParams - Model parameters. Should contain either a 'model' slug or requested 'capabilities'. * @returns Model data object. */ export declare function findModel(availableModels: Record, modelParams: ModelParams): ModelMetadata; //# sourceMappingURL=util.d.ts.map