import { z } from 'zod'; /** * Configuration for a single councillor within a preset. * Each councillor is an independent LLM that processes the same prompt. * * Councillors run as agent sessions with read-only codebase access * (read, glob, grep, lsp, list). They can examine the codebase but * cannot modify files or spawn subagents. */ export declare const CouncillorConfigSchema: z.ZodObject<{ model: z.ZodString; variant: z.ZodOptional; prompt: z.ZodOptional; }, z.core.$strip>; export type CouncillorConfig = z.infer; /** * A named preset grouping several councillors. * * All keys are treated as councillor names mapping to councillor configs. * The reserved key `"master"` is silently ignored (legacy from when * council-master was a separate agent). */ export declare const CouncilPresetSchema: z.ZodPipe>, z.ZodTransform, Record>>>; export type CouncilPreset = z.infer; /** * Execution mode for councillors. * - parallel: Run all councillors concurrently (default, fastest for multi-model systems) * - serial: Run councillors one at a time (required for single-model systems to avoid conflicts) */ export declare const CouncillorExecutionModeSchema: z.ZodDefault>; /** * Top-level council configuration. * * Example JSONC: * ```jsonc * { * "council": { * "presets": { * "default": { * "alpha": { "model": "openai/gpt-5.4-mini" }, * "beta": { "model": "openai/gpt-5.3-codex" }, * "gamma": { "model": "google/gemini-3-pro" } * } * }, * "timeout": 180000, * "councillor_execution_mode": "serial" * } * } * ``` */ export declare const CouncilConfigSchema: z.ZodPipe>, z.ZodTransform, Record>>>>; timeout: z.ZodDefault; default_preset: z.ZodDefault; councillor_execution_mode: z.ZodDefault>; councillor_retries: z.ZodDefault; master: z.ZodOptional; master_timeout: z.ZodOptional; master_fallback: z.ZodOptional; }, z.core.$strip>, z.ZodTransform<{ presets: Record>; timeout: number; default_preset: string; councillor_execution_mode: "parallel" | "serial"; councillor_retries: number; _deprecated: string[] | undefined; _legacyMasterModel: string | undefined; }, { presets: Record>; timeout: number; default_preset: string; councillor_execution_mode: "parallel" | "serial"; councillor_retries: number; master?: unknown; master_timeout?: unknown; master_fallback?: unknown; }>>; export type CouncilConfig = z.infer; export type CouncillorExecutionMode = z.infer; /** * A sensible default council configuration that users can copy into their * opencode.jsonc. Provides a 3-councillor preset using common models. * * Users should replace models with ones they have access to. * * ```jsonc * "council": DEFAULT_COUNCIL_CONFIG * ``` */ export declare const DEFAULT_COUNCIL_CONFIG: z.input; /** * Result of a council session. */ export interface CouncilResult { success: boolean; result?: string; error?: string; councillorResults: Array<{ name: string; model: string; status: 'completed' | 'failed' | 'timed_out'; result?: string; error?: string; }>; }