import { z } from "zod"; import { JsonSchema7Type } from "zod-to-json-schema/src/parseDef.js"; import { Validator } from "../../util/@cfworker/json-schema/index.js"; import { LLMChain, LLMChainInput } from "../llm_chain.js"; import { ChatOpenAI } from "../../chat_models/openai.js"; import { BasePromptTemplate } from "../../prompts/index.js"; import { BaseLLMOutputParser } from "../../schema/output_parser.js"; import { OutputFunctionsParser } from "../../output_parsers/openai_functions.js"; import { ChatGeneration } from "../../schema/index.js"; export type StructuredOutputChainInput = Omit & { outputSchema: JsonSchema7Type; prompt: BasePromptTemplate; llm?: ChatOpenAI; }; export declare class FunctionCallStructuredOutputParser extends BaseLLMOutputParser> { schema: JsonSchema7Type; lc_namespace: string[]; protected functionOutputParser: OutputFunctionsParser; protected jsonSchemaValidator: Validator; constructor(schema: JsonSchema7Type); parseResult(generations: ChatGeneration[]): Promise; } /** * Create a chain that returns output matching a JSON Schema. * @param input Object that includes all LLMChainInput fields except "outputParser" * as well as an additional required "outputSchema" JSON Schema object. * @returns OpenAPIChain */ export declare function createStructuredOutputChain(input: StructuredOutputChainInput): LLMChain; export declare function createStructuredOutputChainFromZod(zodSchema: T, input: Omit): LLMChain;