import { ContentBlock } from "./content/index.js"; import { BaseMessage, BaseMessageChunk, BaseMessageFields } from "./base.js"; import { InvalidToolCall, ToolCallChunk } from "./tool.js"; import { $InferMessageContent, $InferMessageProperty, $InferToolCalls, MessageStructure } from "./message.js"; //#region src/messages/ai.d.ts interface AIMessageFields extends BaseMessageFields { tool_calls?: $InferToolCalls[]; invalid_tool_calls?: InvalidToolCall[]; usage_metadata?: $InferMessageProperty; } declare class AIMessage extends BaseMessage implements AIMessageFields { readonly type: "ai"; tool_calls?: $InferToolCalls[]; invalid_tool_calls?: InvalidToolCall[]; usage_metadata?: AIMessageFields["usage_metadata"]; get lc_aliases(): Record; constructor(fields: $InferMessageContent | AIMessageFields); static lc_name(): string; get contentBlocks(): Array; get _printableFields(): Record; /** * Type guard to check if an object is an AIMessage. * Preserves the MessageStructure type parameter when called with a typed BaseMessage. * @overload When called with a typed BaseMessage, preserves the TStructure type */ static isInstance(obj: BaseMessage): obj is BaseMessage & AIMessage; /** * Type guard to check if an object is an AIMessage. * @overload When called with unknown, returns base AIMessage type */ static isInstance(obj: unknown): obj is AIMessage; } /** * @deprecated Use {@link AIMessage.isInstance} instead */ declare function isAIMessage(x: BaseMessage): x is AIMessage; /** * @deprecated Use {@link AIMessageChunk.isInstance} instead */ declare function isAIMessageChunk(x: BaseMessageChunk): x is AIMessageChunk; type AIMessageChunkFields = AIMessageFields & { tool_call_chunks?: ToolCallChunk[]; }; /** * Represents a chunk of an AI message, which can be concatenated with * other AI message chunks. */ declare class AIMessageChunk extends BaseMessageChunk implements AIMessage, AIMessageChunkFields { readonly type: "ai"; tool_calls?: $InferToolCalls[]; invalid_tool_calls?: InvalidToolCall[]; tool_call_chunks?: ToolCallChunk[]; usage_metadata?: AIMessageChunkFields["usage_metadata"]; constructor(fields: $InferMessageContent | AIMessageChunkFields); get lc_aliases(): Record; static lc_name(): string; get contentBlocks(): Array; get _printableFields(): Record; concat(chunk: AIMessageChunk): this; /** * Type guard to check if an object is an AIMessageChunk. * Preserves the MessageStructure type parameter when called with a typed BaseMessage. * @overload When called with a typed BaseMessage, preserves the TStructure type */ static isInstance(obj: BaseMessage): obj is BaseMessage & AIMessageChunk; /** * Type guard to check if an object is an AIMessageChunk. * @overload When called with unknown, returns base AIMessageChunk type */ static isInstance(obj: unknown): obj is AIMessageChunk; } //#endregion export { AIMessage, AIMessageChunk, AIMessageChunkFields, AIMessageFields, isAIMessage, isAIMessageChunk }; //# sourceMappingURL=ai.d.ts.map