import OpenAI from "openai"; import { ExtractArgs, ExtractChatArgs, TypeToZodShape, ReplaceChatArgs } from "./types"; export declare class ChatBuilder> { messages: TMessages; constructor(messages: TMessages); addInputValidation>(): ChatBuilder; User(str: TUserText): ChatBuilder<[ ...TMessages, { role: "user"; content: TUserText; } ], TExpectedInput & ExtractArgs>; System(str: TSystemText): ChatBuilder<[ ...TMessages, { role: "system"; content: TSystemText; } ], TExpectedInput & ExtractArgs>; Assistant(str: TAssistantText): ChatBuilder<[ ...TMessages, { role: "assistant"; content: TAssistantText; } ], TExpectedInput & ExtractArgs>; assistant: (str: TAssistantText) => ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText; }], TExpectedInput & ExtractArgs>; user: (str: TUserText) => ChatBuilder<[...TMessages, { role: "user"; content: TUserText; }], TExpectedInput & ExtractArgs>; system: (str: TSystemText) => ChatBuilder<[...TMessages, { role: "system"; content: TSystemText; }], TExpectedInput & ExtractArgs>; addZodInputValidation(shape: TypeToZodShape): { validate(args: Record): args is TShape; readonly type: ReplaceChatArgs; build(args: TSuppliedInputArgs): ReplaceChatArgs; messages: TMessages; addInputValidation>(): ChatBuilder; User(str: TUserText): ChatBuilder<[...TMessages, { role: "user"; content: TUserText; }], TShape & ExtractArgs>; System(str: TSystemText): ChatBuilder<[...TMessages, { role: "system"; content: TSystemText; }], TShape & ExtractArgs>; Assistant(str: TAssistantText): ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText; }], TShape & ExtractArgs>; assistant: (str: TAssistantText) => ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText; }], TShape & ExtractArgs>; user: (str: TUserText) => ChatBuilder<[...TMessages, { role: "user"; content: TUserText; }], TShape & ExtractArgs>; system: (str: TSystemText) => ChatBuilder<[...TMessages, { role: "system"; content: TSystemText; }], TShape & ExtractArgs>; addZodInputValidation(shape: TypeToZodShape): { validate(args: Record): args is TShape; readonly type: ReplaceChatArgs; build(args: TSuppliedInputArgs_1): ReplaceChatArgs; messages: TMessages; addInputValidation>(): ChatBuilder; User(str: TUserText_1): ChatBuilder<[...TMessages, { role: "user"; content: TUserText_1; }], TShape & ExtractArgs>; System(str: TSystemText_1): ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_1; }], TShape & ExtractArgs>; Assistant(str: TAssistantText_1): ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_1; }], TShape & ExtractArgs>; assistant: (str: TAssistantText_1) => ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_1; }], TShape & ExtractArgs>; user: (str: TUserText_1) => ChatBuilder<[...TMessages, { role: "user"; content: TUserText_1; }], TShape & ExtractArgs>; system: (str: TSystemText_1) => ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_1; }], TShape & ExtractArgs>; addZodInputValidation(shape: TypeToZodShape): { validate(args: Record): args is TShape; readonly type: ReplaceChatArgs; build(args: TSuppliedInputArgs_2): ReplaceChatArgs; messages: TMessages; addInputValidation>(): ChatBuilder; User(str: TUserText_2): ChatBuilder<[...TMessages, { role: "user"; content: TUserText_2; }], TShape & ExtractArgs>; System(str: TSystemText_2): ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_2; }], TShape & ExtractArgs>; Assistant(str: TAssistantText_2): ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_2; }], TShape & ExtractArgs>; assistant: (str: TAssistantText_2) => ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_2; }], TShape & ExtractArgs>; user: (str: TUserText_2) => ChatBuilder<[...TMessages, { role: "user"; content: TUserText_2; }], TShape & ExtractArgs>; system: (str: TSystemText_2) => ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_2; }], TShape & ExtractArgs>; addZodInputValidation(shape: TypeToZodShape): { validate(args: Record): args is TShape; readonly type: ReplaceChatArgs; build(args: TSuppliedInputArgs_3): ReplaceChatArgs; messages: TMessages; addInputValidation>(): ChatBuilder; User(str: TUserText_3): ChatBuilder<[...TMessages, { role: "user"; content: TUserText_3; }], TShape & ExtractArgs>; System(str: TSystemText_3): ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_3; }], TShape & ExtractArgs>; Assistant(str: TAssistantText_3): ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_3; }], TShape & ExtractArgs>; assistant: (str: TAssistantText_3) => ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_3; }], TShape & ExtractArgs>; user: (str: TUserText_3) => ChatBuilder<[...TMessages, { role: "user"; content: TUserText_3; }], TShape & ExtractArgs>; system: (str: TSystemText_3) => ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_3; }], TShape & ExtractArgs>; addZodInputValidation(shape: TypeToZodShape): { validate(args: Record): args is TShape; readonly type: ReplaceChatArgs; build(args: TSuppliedInputArgs_4): ReplaceChatArgs; messages: TMessages; addInputValidation>(): ChatBuilder; User(str: TUserText_4): ChatBuilder<[...TMessages, { role: "user"; content: TUserText_4; }], TShape & ExtractArgs>; System(str: TSystemText_4): ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_4; }], TShape & ExtractArgs>; Assistant(str: TAssistantText_4): ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_4; }], TShape & ExtractArgs>; assistant: (str: TAssistantText_4) => ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_4; }], TShape & ExtractArgs>; user: (str: TUserText_4) => ChatBuilder<[...TMessages, { role: "user"; content: TUserText_4; }], TShape & ExtractArgs>; system: (str: TSystemText_4) => ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_4; }], TShape & ExtractArgs>; addZodInputValidation(shape: TypeToZodShape): { validate(args: Record): args is TShape; readonly type: ReplaceChatArgs; build(args: TSuppliedInputArgs_5): ReplaceChatArgs; messages: TMessages; addInputValidation>(): ChatBuilder; User(str: TUserText_5): ChatBuilder<[...TMessages, { role: "user"; content: TUserText_5; }], TShape & ExtractArgs>; System(str: TSystemText_5): ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_5; }], TShape & ExtractArgs>; Assistant(str: TAssistantText_5): ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_5; }], TShape & ExtractArgs>; assistant: (str: TAssistantText_5) => ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_5; }], TShape & ExtractArgs>; user: (str: TUserText_5) => ChatBuilder<[...TMessages, { role: "user"; content: TUserText_5; }], TShape & ExtractArgs>; system: (str: TSystemText_5) => ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_5; }], TShape & ExtractArgs>; addZodInputValidation(shape: TypeToZodShape): { validate(args: Record): args is TShape; readonly type: ReplaceChatArgs; build(args: TSuppliedInputArgs_6): ReplaceChatArgs; messages: TMessages; addInputValidation>(): ChatBuilder; User(str: TUserText_6): ChatBuilder<[...TMessages, { role: "user"; content: TUserText_6; }], TShape & ExtractArgs>; System(str: TSystemText_6): ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_6; }], TShape & ExtractArgs>; Assistant(str: TAssistantText_6): ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_6; }], TShape & ExtractArgs>; assistant: (str: TAssistantText_6) => ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_6; }], TShape & ExtractArgs>; user: (str: TUserText_6) => ChatBuilder<[...TMessages, { role: "user"; content: TUserText_6; }], TShape & ExtractArgs>; system: (str: TSystemText_6) => ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_6; }], TShape & ExtractArgs>; addZodInputValidation(shape: TypeToZodShape): { validate(args: Record): args is TShape; readonly type: ReplaceChatArgs; build(args: TSuppliedInputArgs_7): ReplaceChatArgs; messages: TMessages; addInputValidation>(): ChatBuilder; User(str: TUserText_7): ChatBuilder<[...TMessages, { role: "user"; content: TUserText_7; }], TShape & ExtractArgs>; System(str: TSystemText_7): ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_7; }], TShape & ExtractArgs>; Assistant(str: TAssistantText_7): ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_7; }], TShape & ExtractArgs>; assistant: (str: TAssistantText_7) => ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_7; }], TShape & ExtractArgs>; user: (str: TUserText_7) => ChatBuilder<[...TMessages, { role: "user"; content: TUserText_7; }], TShape & ExtractArgs>; system: (str: TSystemText_7) => ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_7; }], TShape & ExtractArgs>; addZodInputValidation(shape: TypeToZodShape): { validate(args: Record): args is TShape; readonly type: ReplaceChatArgs; build(args: TSuppliedInputArgs_8): ReplaceChatArgs; messages: TMessages; addInputValidation>(): ChatBuilder; User(str: TUserText_8): ChatBuilder<[...TMessages, { role: "user"; content: TUserText_8; }], TShape & ExtractArgs>; System(str: TSystemText_8): ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_8; }], TShape & ExtractArgs>; Assistant(str: TAssistantText_8): ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_8; }], TShape & ExtractArgs>; assistant: (str: TAssistantText_8) => ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_8; }], TShape & ExtractArgs>; user: (str: TUserText_8) => ChatBuilder<[...TMessages, { role: "user"; content: TUserText_8; }], TShape & ExtractArgs>; system: (str: TSystemText_8) => ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_8; }], TShape & ExtractArgs>; addZodInputValidation(shape: TypeToZodShape): { validate(args: Record): args is TShape; readonly type: ReplaceChatArgs; build(args: TSuppliedInputArgs_9): ReplaceChatArgs; messages: TMessages; addInputValidation>(): ChatBuilder; User(str: TUserText_9): ChatBuilder<[...TMessages, { role: "user"; content: TUserText_9; }], TShape & ExtractArgs>; System(str: TSystemText_9): ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_9; }], TShape & ExtractArgs>; Assistant(str: TAssistantText_9): ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_9; }], TShape & ExtractArgs>; assistant: (str: TAssistantText_9) => ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_9; }], TShape & ExtractArgs>; user: (str: TUserText_9) => ChatBuilder<[...TMessages, { role: "user"; content: TUserText_9; }], TShape & ExtractArgs>; system: (str: TSystemText_9) => ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_9; }], TShape & ExtractArgs>; addZodInputValidation(shape: TypeToZodShape): { validate(args: Record): args is TShape; readonly type: ReplaceChatArgs; build(args: TSuppliedInputArgs_10): ReplaceChatArgs; messages: TMessages; addInputValidation>(): ChatBuilder; User(str: TUserText_10): ChatBuilder<[...TMessages, { role: "user"; content: TUserText_10; }], TShape & ExtractArgs>; System(str: TSystemText_10): ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_10; }], TShape & ExtractArgs>; Assistant(str: TAssistantText_10): ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_10; }], TShape & ExtractArgs>; assistant: (str: TAssistantText_10) => ChatBuilder<[...TMessages, { role: "assistant"; content: TAssistantText_10; }], TShape & ExtractArgs>; user: (str: TUserText_10) => ChatBuilder<[...TMessages, { role: "user"; content: TUserText_10; }], TShape & ExtractArgs>; system: (str: TSystemText_10) => ChatBuilder<[...TMessages, { role: "system"; content: TSystemText_10; }], TShape & ExtractArgs>; addZodInputValidation(shape: TypeToZodShape): any; }; }; }; }; }; }; }; }; }; }; }; validate(args: Record): args is TExpectedInput; get type(): ReplaceChatArgs; build(args: TSuppliedInputArgs): ReplaceChatArgs; }