import { BaseCallbackConfig } from "../callbacks/manager.js"; import { BaseMessage, BaseMessageLike, BasePromptValue, InputValues, PartialValues } from "../schema/index.js"; import { Runnable } from "../schema/runnable/index.js"; import { BasePromptTemplate, BasePromptTemplateInput, BaseStringPromptTemplate, TypedPromptInputValues } from "./base.js"; /** * Abstract class that serves as a base for creating message prompt * templates. It defines how to format messages for different roles in a * conversation. */ export declare abstract class BaseMessagePromptTemplate extends Runnable { lc_namespace: string[]; lc_serializable: boolean; abstract inputVariables: Array>; /** * Method that takes an object of TypedPromptInputValues and returns a * promise that resolves to an array of BaseMessage instances. * @param values Object of TypedPromptInputValues * @returns Formatted array of BaseMessages */ abstract formatMessages(values: TypedPromptInputValues): Promise; /** * Calls the formatMessages method with the provided input and options. * @param input Input for the formatMessages method * @param options Optional BaseCallbackConfig * @returns Formatted output messages */ invoke(input: RunInput, options?: BaseCallbackConfig): Promise; } /** * Interface for the fields of a ChatPromptValue. */ export interface ChatPromptValueFields { messages: BaseMessage[]; } /** * Class that represents a chat prompt value. It extends the * BasePromptValue and includes an array of BaseMessage instances. */ export declare class ChatPromptValue extends BasePromptValue { lc_namespace: string[]; lc_serializable: boolean; static lc_name(): string; messages: BaseMessage[]; constructor(messages: BaseMessage[]); constructor(fields: ChatPromptValueFields); toString(): string; toChatMessages(): BaseMessage[]; } /** * Interface for the fields of a MessagePlaceholder. */ export interface MessagePlaceholderFields { variableName: T; } /** * Class that represents a placeholder for messages in a chat prompt. It * extends the BaseMessagePromptTemplate. */ export declare class MessagesPlaceholder extends BaseMessagePromptTemplate { static lc_name(): string; variableName: Extract; constructor(variableName: Extract); constructor(fields: MessagePlaceholderFields>); get inputVariables(): Extract[]; formatMessages(values: TypedPromptInputValues): Promise; } /** * Interface for the fields of a MessageStringPromptTemplate. */ export interface MessageStringPromptTemplateFields { prompt: BaseStringPromptTemplate; } /** * Abstract class that serves as a base for creating message string prompt * templates. It extends the BaseMessagePromptTemplate. */ export declare abstract class BaseMessageStringPromptTemplate extends BaseMessagePromptTemplate { prompt: BaseStringPromptTemplate>, string>; constructor(prompt: BaseStringPromptTemplate>>); constructor(fields: MessageStringPromptTemplateFields>>); get inputVariables(): Extract, string>[]; abstract format(values: TypedPromptInputValues): Promise; formatMessages(values: TypedPromptInputValues): Promise; } /** * Abstract class that serves as a base for creating chat prompt * templates. It extends the BasePromptTemplate. */ export declare abstract class BaseChatPromptTemplate extends BasePromptTemplate { constructor(input: BasePromptTemplateInput); abstract formatMessages(values: TypedPromptInputValues): Promise; format(values: TypedPromptInputValues): Promise; formatPromptValue(values: TypedPromptInputValues): Promise; } /** * Interface for the fields of a ChatMessagePromptTemplate. */ export interface ChatMessagePromptTemplateFields extends MessageStringPromptTemplateFields { role: string; } /** * Class that represents a chat message prompt template. It extends the * BaseMessageStringPromptTemplate. */ export declare class ChatMessagePromptTemplate extends BaseMessageStringPromptTemplate { static lc_name(): string; role: string; constructor(prompt: BaseStringPromptTemplate>>, role: string); constructor(fields: ChatMessagePromptTemplateFields>>); format(values: RunInput): Promise; static fromTemplate(template: string, role: string): ChatMessagePromptTemplate; } /** * Class that represents a human message prompt template. It extends the * BaseMessageStringPromptTemplate. */ export declare class HumanMessagePromptTemplate extends BaseMessageStringPromptTemplate { static lc_name(): string; format(values: RunInput): Promise; static fromTemplate(template: string): HumanMessagePromptTemplate; } /** * Class that represents an AI message prompt template. It extends the * BaseMessageStringPromptTemplate. */ export declare class AIMessagePromptTemplate extends BaseMessageStringPromptTemplate { static lc_name(): string; format(values: RunInput): Promise; static fromTemplate(template: string): AIMessagePromptTemplate; } /** * Class that represents a system message prompt template. It extends the * BaseMessageStringPromptTemplate. */ export declare class SystemMessagePromptTemplate extends BaseMessageStringPromptTemplate { static lc_name(): string; format(values: RunInput): Promise; static fromTemplate(template: string): SystemMessagePromptTemplate; } /** * Interface for the input of a ChatPromptTemplate. */ export interface ChatPromptTemplateInput extends BasePromptTemplateInput { /** * The prompt messages */ promptMessages: Array; /** * Whether to try validating the template on initialization * * @defaultValue `true` */ validateTemplate?: boolean; } export type BaseMessagePromptTemplateLike = BaseMessagePromptTemplate | BaseMessageLike; /** * Class that represents a chat prompt. It extends the * BaseChatPromptTemplate and uses an array of BaseMessagePromptTemplate * instances to format a series of messages for a conversation. */ export declare class ChatPromptTemplate extends BaseChatPromptTemplate implements ChatPromptTemplateInput { static lc_name(): string; get lc_aliases(): { promptMessages: string; }; promptMessages: Array; validateTemplate: boolean; constructor(input: ChatPromptTemplateInput); _getPromptType(): "chat"; formatMessages(values: TypedPromptInputValues): Promise; partial(values: PartialValues): Promise, NewPartialVariableName>>, any>>; /** * Create a chat model-specific prompt from individual chat messages * or message-like tuples. * @param promptMessages Messages to be passed to the chat model * @returns A new ChatPromptTemplate */ static fromMessages(promptMessages: (ChatPromptTemplate | BaseMessagePromptTemplateLike)[]): ChatPromptTemplate; /** @deprecated Renamed to .fromMessages */ static fromPromptMessages(promptMessages: (ChatPromptTemplate | BaseMessagePromptTemplateLike)[]): ChatPromptTemplate; }