import type { ProviderType } from '../../shared/types/provider.js';
export interface McpStdioServerConfig {
    type?: 'stdio';
    command: string;
    args?: string[];
    env?: Record<string, string>;
}
export interface McpSseServerConfig {
    type: 'sse';
    url: string;
    headers?: Record<string, string>;
}
export interface McpHttpServerConfig {
    type: 'http';
    url: string;
    headers?: Record<string, string>;
}
export type McpServerConfig = McpStdioServerConfig | McpSseServerConfig | McpHttpServerConfig;
export interface CodexProviderOptions {
    networkAccess?: boolean;
    reasoningEffort?: CodexReasoningEffort;
}
export interface OpenCodeProviderOptions {
    networkAccess?: boolean;
    variant?: string;
}
export declare const RUNTIME_PREPARE_PRESETS: readonly ["gradle", "node"];
export type RuntimePreparePreset = (typeof RUNTIME_PREPARE_PRESETS)[number];
export declare const CODEX_REASONING_EFFORT_VALUES: readonly ["minimal", "low", "medium", "high", "xhigh"];
export type CodexReasoningEffort = (typeof CODEX_REASONING_EFFORT_VALUES)[number];
export declare const CLAUDE_EFFORT_VALUES: readonly ["low", "medium", "high", "xhigh", "max"];
export type ClaudeEffort = (typeof CLAUDE_EFFORT_VALUES)[number];
export declare const COPILOT_EFFORT_VALUES: readonly ["low", "medium", "high", "xhigh"];
export type CopilotEffort = (typeof COPILOT_EFFORT_VALUES)[number];
export declare function isRuntimePreparePreset(entry: string): entry is RuntimePreparePreset;
export type RuntimePrepareEntry = RuntimePreparePreset | string;
export interface WorkflowRuntimeConfig {
    prepare?: RuntimePrepareEntry[];
}
export interface ClaudeSandboxSettings {
    allowUnsandboxedCommands?: boolean;
    excludedCommands?: string[];
}
export interface ClaudeProviderOptions {
    allowedTools?: string[];
    effort?: ClaudeEffort;
    sandbox?: ClaudeSandboxSettings;
}
export interface ClaudeTerminalProviderOptions {
    backend?: 'tmux';
    timeoutMs?: number;
    keepSession?: boolean;
    transcriptPollIntervalMs?: number;
}
export interface CopilotProviderOptions {
    effort?: CopilotEffort;
}
export interface StepProviderOptions {
    codex?: CodexProviderOptions;
    opencode?: OpenCodeProviderOptions;
    claude?: ClaudeProviderOptions;
    claudeTerminal?: ClaudeTerminalProviderOptions;
    copilot?: CopilotProviderOptions;
}
export type WorkflowStepKind = 'agent' | 'system' | 'workflow_call';
export interface WorkflowCallOverrides {
    provider?: ProviderType;
    model?: string;
    providerOptions?: StepProviderOptions;
}
//# sourceMappingURL=workflow-provider-options.d.ts.map