import { z } from 'zod/v4';
export declare const AnthropicConfigSchema: z.ZodObject<{
    type: z.ZodLiteral<"ANTHROPIC">;
    apiKey: z.ZodString;
    modelName: z.ZodString;
}, z.core.$strip>;
export type AnthropicConfig = z.infer<typeof AnthropicConfigSchema>;
export declare const DonobuGptClientConfigSchema: z.ZodObject<{
    type: z.ZodLiteral<"DONOBU">;
    apiKey: z.ZodString;
}, z.core.$strip>;
export type DonobuGptClientConfig = z.infer<typeof DonobuGptClientConfigSchema>;
export declare const GoogleGenerativeAiConfigSchema: z.ZodObject<{
    type: z.ZodLiteral<"GOOGLE_GEMINI">;
    apiKey: z.ZodString;
    modelName: z.ZodString;
}, z.core.$strip>;
export type GoogleGenerativeAiConfig = z.infer<typeof GoogleGenerativeAiConfigSchema>;
export declare const OllamaConfigSchema: z.ZodObject<{
    type: z.ZodLiteral<"OLLAMA">;
    modelName: z.ZodString;
    apiUrl: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type OllamaConfig = z.infer<typeof OllamaConfigSchema>;
export declare const OpenAiConfigSchema: z.ZodObject<{
    type: z.ZodLiteral<"OPENAI">;
    apiKey: z.ZodString;
    modelName: z.ZodString;
}, z.core.$strip>;
export type OpenAiConfig = z.infer<typeof OpenAiConfigSchema>;
export declare const VercelAiConfigSchema: z.ZodObject<{
    type: z.ZodLiteral<"VERCEL_AI">;
    provider: z.ZodString;
    modelName: z.ZodString;
}, z.core.$strip>;
export type VercelAiConfig = z.infer<typeof VercelAiConfigSchema>;
/**
 * A resource structure that can be used to establish connectivity with a
 * particular GPT platform and model. If there are an 'apiKey', and/or a
 * `secretAccessKey` fields, they will be redacted before being returned
 * through the API.
 */
export declare const GptConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    type: z.ZodLiteral<"ANTHROPIC">;
    apiKey: z.ZodString;
    modelName: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
    type: z.ZodLiteral<"DONOBU">;
    apiKey: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
    type: z.ZodLiteral<"GOOGLE_GEMINI">;
    apiKey: z.ZodString;
    modelName: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
    type: z.ZodLiteral<"OLLAMA">;
    modelName: z.ZodString;
    apiUrl: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
    type: z.ZodLiteral<"OPENAI">;
    apiKey: z.ZodString;
    modelName: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
    type: z.ZodLiteral<"VERCEL_AI">;
    provider: z.ZodString;
    modelName: z.ZodString;
}, z.core.$strip>], "type">;
export type GptConfig = z.infer<typeof GptConfigSchema>;
/**
 * Permissive schema for configs that might come from plugins.
 * Accepts all built-in types (with full validation) plus any object
 * with a string `type` field (for plugin-provided types).
 */
export declare const GptConfigInputSchema: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
    type: z.ZodLiteral<"ANTHROPIC">;
    apiKey: z.ZodString;
    modelName: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
    type: z.ZodLiteral<"DONOBU">;
    apiKey: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
    type: z.ZodLiteral<"GOOGLE_GEMINI">;
    apiKey: z.ZodString;
    modelName: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
    type: z.ZodLiteral<"OLLAMA">;
    modelName: z.ZodString;
    apiUrl: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
    type: z.ZodLiteral<"OPENAI">;
    apiKey: z.ZodString;
    modelName: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
    type: z.ZodLiteral<"VERCEL_AI">;
    provider: z.ZodString;
    modelName: z.ZodString;
}, z.core.$strip>], "type">, z.ZodObject<{
    type: z.ZodString;
}, z.core.$loose>]>;
export type GptConfigInput = z.infer<typeof GptConfigInputSchema>;
//# sourceMappingURL=GptConfig.d.ts.map