/** * Groq SDK Wrapper for EthicalZen * * Wrap your Groq client to automatically route all calls through EthicalZen. * * @example * ```typescript * import Groq from 'groq-sdk'; * import { protectGroq } from '@ethicalzen/sdk'; * * const groq = protectGroq( * new Groq({ apiKey: process.env.GROQ_API_KEY }), * 'your-ethicalzen-api-key' * ); * * // Use normally - all calls go through EthicalZen! * const response = await groq.chat.completions.create({ * model: 'llama-3.3-70b-versatile', * messages: [{ role: 'user', content: 'Hello' }] * }); * ``` */ import { EthicalZen, EthicalZenOptions } from '../ethicalzen'; /** * Options for Groq wrapper */ export interface GroqWrapperOptions extends EthicalZenOptions { /** Groq API key (if not already set in Groq client) */ groqApiKey?: string; } /** * Wrap a Groq client to route all calls through EthicalZen * * @param groqClient - Existing Groq client instance * @param ezApiKey - Your EthicalZen API key * @param options - Optional configuration * @returns Wrapped Groq client */ export declare function protectGroq(groqClient: T, ezApiKey: string, options?: GroqWrapperOptions): T; /** * Create a new protected Groq client from scratch * * @param groqApiKey - Your Groq API key * @param ezApiKey - Your EthicalZen API key * @param options - Optional configuration * @returns Object with common Groq methods * * @example * ```typescript * const ai = createProtectedGroq( * process.env.GROQ_API_KEY, * process.env.ETHICALZEN_API_KEY * ); * * const response = await ai.chat({ * model: 'llama-3.3-70b-versatile', * messages: [{ role: 'user', content: 'Hello' }] * }); * ``` */ export declare function createProtectedGroq(groqApiKey: string, ezApiKey: string, options?: EthicalZenOptions): { /** * Create a chat completion */ chat: (params: { model: string; messages: Array<{ role: string; content: string; }>; temperature?: number; max_tokens?: number; [key: string]: any; }) => Promise; /** * Transcribe audio */ transcribe: (params: { file: any; model: string; [key: string]: any; }) => Promise; /** * List available models */ models: () => Promise; /** * Get the underlying EthicalZen instance */ getEthicalZen: () => EthicalZen; }; export default protectGroq; //# sourceMappingURL=groq.d.ts.map