/**
 * @fileoverview
 * TypeScript interfaces and schemas for agent configuration, tool definitions, and API keys.
 * These types are used for validating and structuring configuration files and runtime parameters.
 */
import { z } from "zod";
/**
 * Parameters for generating text using the AI SDK.
 * Used to configure model, tools, temperature, and prompt for text generation.
 */
export interface GenerateTextParams {
    /** Optional name for the session or agent. */
    name?: string;
    /** The model instance to use (e.g., openai('gpt-4o-mini')). */
    model: any;
    /** Optional tools to provide to the model for tool-augmented generation. */
    tools?: any;
    /** Optional tool choice to guide the model's tool selection. */
    toolChoice?: string;
    /** Optional temperature for sampling (higher = more random). */
    temperature?: number;
    /** Optional system prompt to provide context or instructions to the model. */
    system?: string;
    /** The main user prompt for text generation. */
    prompt: string;
}
export declare const GenerateTextParamsSchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    model: z.ZodAny;
    tools: z.ZodOptional<z.ZodAny>;
    toolChoice: z.ZodOptional<z.ZodString>;
    temperature: z.ZodOptional<z.ZodNumber>;
    system: z.ZodOptional<z.ZodString>;
    prompt: z.ZodString;
}, "strip", z.ZodTypeAny, {
    prompt: string;
    name?: string | undefined;
    model?: any;
    tools?: any;
    toolChoice?: string | undefined;
    temperature?: number | undefined;
    system?: string | undefined;
}, {
    prompt: string;
    name?: string | undefined;
    model?: any;
    tools?: any;
    toolChoice?: string | undefined;
    temperature?: number | undefined;
    system?: string | undefined;
}>;
/**
 * Definition for a single MCP server, as specified in tools.json.
 */
export interface McpServerDefinition {
    /** The command to launch the MCP server process. */
    command: string;
    /** Arguments to pass to the MCP server command. */
    args: string[];
}
/**
 * Structure of the tools.json file, mapping MCP server names to their definitions.
 */
export interface ToolsJson {
    /** A mapping of MCP server names to their command/argument definitions. */
    mcpServers: Record<string, McpServerDefinition>;
}
export declare const McpServerDefinitionSchema: z.ZodObject<{
    command: z.ZodString;
    args: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    command: string;
    args: string[];
}, {
    command: string;
    args: string[];
}>;
export declare const ToolsJsonSchema: z.ZodObject<{
    mcpServers: z.ZodRecord<z.ZodString, z.ZodObject<{
        command: z.ZodString;
        args: z.ZodArray<z.ZodString, "many">;
    }, "strip", z.ZodTypeAny, {
        command: string;
        args: string[];
    }, {
        command: string;
        args: string[];
    }>>;
}, "strip", z.ZodTypeAny, {
    mcpServers: Record<string, {
        command: string;
        args: string[];
    }>;
}, {
    mcpServers: Record<string, {
        command: string;
        args: string[];
    }>;
}>;
/**
 * Structure of the keys.json file, mapping provider names to API keys.
 */
export type KeysJson = Record<string, string>;
export declare const KeysJsonSchema: z.ZodRecord<z.ZodString, z.ZodString>;
//# sourceMappingURL=types.d.ts.map