import { BaseChatModel } from "@langchain/core/language_models/chat_models";
import { InvokeParams, ModelArgs, ModelName } from "../../types";
import { SystemMessage } from "@langchain/core/messages";
import { ZodType, ZodTypeDef } from "zod";
export default class FactoryModel {
    private ai?;
    model: BaseChatModel;
    constructor(ai?: {
        modelName: ModelName;
        args?: ModelArgs;
    });
    get instance(): ModelName;
    protected createTemplateMessage(invokeParams: InvokeParams): SystemMessage[];
    createStructure<T>(invokeParams: InvokeParams, llmStructuredOutputTool: ZodType<T, ZodTypeDef, T>): Promise<T>;
    private initModel;
}
//# sourceMappingURL=index.d.ts.map