import { type SQLWrapper } from 'drizzle-orm'; import type { SQL } from 'drizzle-orm/sql/sql'; /** Models MotherDuck documents for prompt(). Other names pass through. */ export type MotherDuckPromptModel = 'gpt-4o-mini' | 'gpt-4o' | 'gpt-4.1-nano' | 'gpt-4.1-mini' | 'gpt-4.1' | 'gpt-5-nano' | 'gpt-5-mini' | 'gpt-5' | 'gpt-6-luna' | (string & {}); export type MotherDuckPromptReasoningEffort = 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh'; export interface MotherDuckPromptOptions { /** Defaults to `gpt-4o-mini` on MotherDuck. */ model?: MotherDuckPromptModel; /** From 0 to 1. Reasoning models reject it. */ temperature?: number; /** Only for reasoning models. MotherDuck defaults it to `none`. */ reasoningEffort?: MotherDuckPromptReasoningEffort; /** Return a STRUCT. Maps each field name to a DuckDB type such as `VARCHAR`. */ struct?: Record; /** Describes `struct` fields for the model. Requires `struct`. */ structDescr?: Record; /** Return JSON that follows this JSON Schema. */ jsonSchema?: string | Record; /** Return a single value of this DuckDB type, such as `INTEGER[]`. */ returnType?: string; } /** * Build MotherDuck prompt() with its settings inlined as constants, which the * binder requires. The input remains a bound value or SQL expression. Pass the * decoded type as `T` when using `struct`, `jsonSchema` or `returnType`. */ export declare function mdPrompt(input: string | SQLWrapper, options?: MotherDuckPromptOptions): SQL;