import { LLM } from '../../agents/providers.js'; import type { GroqLLMModel } from './models.js'; /** Configuration options for the Groq LLM provider. */ export type GroqLLMOptions = { /** Groq API key. Defaults to the `GROQ_API_KEY` environment variable. */ apiKey?: string; /** Model ID to use. Default: `'llama-3.3-70b-versatile'`. */ model?: GroqLLMModel | string; /** Sampling temperature; higher values produce more random output. Range 0-2. Default: `0.7`. */ temperature?: number; /** Maximum number of tokens to generate in the completion. Default: `1024`. */ maxOutputTokens?: number; /** Nucleus sampling probability mass (0-1). Default: `null` (provider default). */ topP?: number | null; /** Penalizes new tokens based on their frequency so far (-2.0 to 2.0). Default: `null`. */ frequencyPenalty?: number | null; /** Penalizes new tokens based on whether they appear so far (-2.0 to 2.0). Default: `null`. */ presencePenalty?: number | null; /** Seed for deterministic sampling; identical requests with the same seed aim to return the same result. Default: `null`. */ seed?: number | null; /** Stop sequence(s) at which generation halts. Default: `null`. */ stop?: string | null; /** Stable identifier for the end user, used for abuse monitoring. Default: `null`. */ user?: string | null; /** Controls tool selection, e.g. `'none'`, `'auto'`, `'required'`, or a specific tool. Default: `null`. */ toolChoice?: string | null; /** Whether to allow multiple tool calls to run in parallel. Default: `null`. */ parallelToolCalls?: boolean | null; /** Output format specification, e.g. `{ type: 'json_object' }`. Default: `null`. */ responseFormat?: Record | null; /** Reasoning effort level for reasoning-capable models, e.g. `'low'`, `'medium'`, `'high'`. Default: `null`. */ reasoningEffort?: string | null; /** How reasoning content is returned, e.g. `'parsed'`, `'raw'`, `'hidden'`. Default: `null`. */ reasoningFormat?: string | null; /** Service tier for the request, e.g. `'auto'`, `'on_demand'`, `'flex'`. Default: `null`. */ serviceTier?: string | null; /** Additional provider options are accepted and forwarded for forward compatibility. */ [key: string]: any; }; declare class GroqLLMImpl extends LLM { static readonly displayName = "GroqLLM"; _providerName: string; apiKey?: string; model: string; temperature: number; maxOutputTokens: number; topP: number | null; frequencyPenalty: number | null; presencePenalty: number | null; seed: number | null; stop: string | null; user: string | null; toolChoice: string | null; parallelToolCalls: boolean | null; responseFormat: Record | null; reasoningEffort: string | null; reasoningFormat: string | null; serviceTier: string | null; constructor(opts?: GroqLLMOptions); getRuntimeConfig(): Record; } /** Instance type of a Groq LLM provider. */ export type GroqLLM = GroqLLMImpl; /** Groq LLM provider. */ export declare const GroqLLM: (opts?: GroqLLMOptions) => GroqLLM; export {};