import type { QualityGate, RateLimitFallbackConfig, StepProviderOptions, WorkflowRuntimeConfig } from '../../core/models/workflow-types.js'; import type { z } from 'zod'; import { type QualityGatesSchema } from '../../core/models/schema-base.js'; import type { WorkflowOverridesSchema } from '../../core/models/config-schemas.js'; import type { PermissionMode } from '../../core/models/status.js'; import type { ProviderPermissionProfiles } from '../../core/models/provider-profiles.js'; import type { AssistantConfig, AutoRoutingConfig, FormalSpecMode, WorkflowOverrides, PersonaProviderEntry, PipelineConfig, ProviderRoutingConfig, TaktProviderConfigEntry, TaktSelectorProviderConfigEntry, TaktProvidersConfig, TelemetryConfig } from '../../core/models/config-types.js'; import { type NormalizeProviderOptionsOptions } from './providerOptions.js'; type RawProviderRoutingEntry = string | { type?: string; provider?: string; model?: string; provider_options?: Record; }; type RawQualityGate = NonNullable>[number]; type RawWorkflowOverrides = z.output; type SerializedQualityGateOverride = { quality_gates?: RawQualityGate[]; }; type RawFormalSpecConfig = { mode?: FormalSpecMode; comments?: boolean; model_check_timeout_seconds?: number; }; type RawFormalSpecSetting = FormalSpecMode | RawFormalSpecConfig; type RawAutoRoutingConfig = { strategy: AutoRoutingConfig['strategy']; router: { provider: AutoRoutingConfig['router']['provider']; model: string; }; candidates: Array<{ name: string; description?: string; provider: AutoRoutingConfig['candidates'][number]['provider']; model: string; routing_tier: AutoRoutingConfig['candidates'][number]['routingTier']; provider_options?: Record; }>; rules?: AutoRoutingConfig['rules']; default_pool: string; candidate_pools: AutoRoutingConfig['candidatePools']; pool_rules?: AutoRoutingConfig['poolRules']; }; export declare function normalizeQualityGates(gates: RawQualityGate[] | undefined): QualityGate[] | undefined; export declare function normalizeRuntime(runtime: { prepare?: string[]; } | undefined): WorkflowRuntimeConfig | undefined; export declare function normalizeRateLimitFallback(raw: { switch_chain?: Array<{ provider: RateLimitFallbackConfig['switchChain'][number]['provider']; model?: string; }>; } | undefined): RateLimitFallbackConfig | undefined; export declare function normalizeAutoRoutingConfig(raw: RawAutoRoutingConfig | undefined, options?: NormalizeProviderOptionsOptions): AutoRoutingConfig | undefined; export declare function denormalizeAutoRoutingConfig(config: AutoRoutingConfig | undefined): RawAutoRoutingConfig | undefined; export declare function normalizeTelemetryConfig(raw: { routing_decisions?: boolean; } | undefined): TelemetryConfig | undefined; export declare function denormalizeTelemetryConfig(config: TelemetryConfig | undefined): Record | undefined; export declare function denormalizeRateLimitFallback(config: RateLimitFallbackConfig | undefined): { switch_chain: Array<{ provider: RateLimitFallbackConfig['switchChain'][number]['provider']; model?: string; }>; } | undefined; export declare function normalizeProviderProfiles(raw: Record; }> | undefined): ProviderPermissionProfiles | undefined; export declare function denormalizeProviderProfiles(profiles: ProviderPermissionProfiles | undefined): Record; }> | undefined; export declare function normalizeWorkflowOverrides(raw: RawWorkflowOverrides): WorkflowOverrides | undefined; export declare function denormalizeWorkflowOverrides(overrides: WorkflowOverrides | undefined): { quality_gates?: RawQualityGate[]; quality_gates_edit_only?: boolean; steps?: Record; personas?: Record; } | undefined; export declare function normalizePersonaProviders(raw: Record | undefined, options?: NormalizeProviderOptionsOptions): Record | undefined; export declare function denormalizePersonaProviders(personaProviders: Record | undefined): Record> | undefined; export declare function normalizeProviderRouting(raw: { personas?: Record; tags?: Record; steps?: Record; } | undefined, options?: NormalizeProviderOptionsOptions): ProviderRoutingConfig | undefined; export declare function denormalizeProviderRouting(providerRouting: ProviderRoutingConfig | undefined): { personas?: Record>; tags?: Record>; steps?: Record>; } | undefined; export declare function normalizePipelineConfig(raw: { default_branch_prefix?: string; commit_message_template?: string; pr_body_template?: string; } | undefined): PipelineConfig | undefined; export declare function normalizeAssistantConfig(raw: { init_files?: string[]; formal_spec?: RawFormalSpecSetting; } | undefined): AssistantConfig | undefined; export declare function denormalizeAssistantConfig(config: AssistantConfig | undefined): { init_files?: string[]; formal_spec?: RawFormalSpecSetting; } | undefined; export declare function normalizeTaktProviders(raw: { assistant?: { provider?: TaktProviderConfigEntry['provider']; model?: string; }; selector?: { provider?: TaktProviderConfigEntry['provider']; model?: string; provider_options?: Record; }; } | undefined, options?: NormalizeProviderOptionsOptions): TaktProvidersConfig | undefined; export declare function normalizeTaktSelectorProvider(selector: { provider?: TaktProviderConfigEntry['provider']; model?: string; provider_options?: Record; } | undefined, options?: NormalizeProviderOptionsOptions): TaktSelectorProviderConfigEntry | undefined; export declare function normalizeTaktAssistantProvider(assistant: { provider?: TaktProviderConfigEntry['provider']; model?: string; } | undefined): TaktProviderConfigEntry | undefined; export declare function buildRawTaktProvidersOrThrow(taktProviders: TaktProvidersConfig | undefined, options?: NormalizeProviderOptionsOptions): { assistant?: TaktProviderConfigEntry; selector?: { provider?: TaktSelectorProviderConfigEntry['provider']; model?: string; provider_options?: Record; }; } | undefined; /** * Serialize supported internal provider options to legacy YAML keys, omitting unset values. * Reject runtime-only DeepSeek effort instead of silently losing it during persistence. */ export declare function denormalizeProviderOptions(providerOptions: StepProviderOptions | undefined): Record | undefined; export {}; //# sourceMappingURL=configNormalizers.d.ts.map