export type OpenAIModelId = "gpt-4o" | "gpt-4o-mini" | "o1-preview" | "o1-mini" | "gpt-4-turbo" | "gpt-4-turbo-preview" | "gpt-4" | "gpt-3.5-turbo"; export type MistralModelId = "mistral-large-latest" | "pixtral-large-latest" | "ministral-3b-latest" | "ministral-8b-latest" | "mistral-small-latest" | "codestral-latest" | "pixtral-12b-2409" | "open-mistral-nemo" | "open-codestral-mamba"; export type AnthropicModelId = "claude-3-5-sonnet-latest" | "claude-3-5-haiku-latest" | "claude-3-opus-latest" | "claude-3-sonnet-20240229" | "claude-3-haiku-20240307"; export type GelChatModelId = OpenAIModelId | MistralModelId | AnthropicModelId | (string & {}); export declare function isAnthropicModel(model: GelChatModelId): boolean; export declare function isOpenAIModel(model: GelChatModelId): boolean; export type Prompt = { name: string; custom?: GelMessage[]; } | { id: string; custom?: GelMessage[]; } | { custom: GelMessage[]; }; export interface QueryContext { query: string; variables?: Record; globals?: Record; max_object_count?: number; } export interface GelChatSettings { context?: QueryContext; prompt?: Prompt; safePrompt?: boolean; echo?: boolean; logitBias?: Record; logprobs?: boolean | number; user?: string; } export type GelMessage = GelSystemMessage | GelUserMessage | GelAssistantMessage | GelToolMessage; export interface GelSystemMessage { role: "system"; content: string; } export interface GelUserMessage { role: "user"; content: { type: "text"; text: string; }[]; } export interface GelAssistantMessage { role: "assistant"; content: string; tool_calls?: { id: string; type: "function"; function: { name: string; arguments: string; }; }[]; } export interface GelToolMessage { role: "tool"; content: string; tool_call_id: string; }