import type { SkillEvolutionGateInput, SkillEvolutionGateResult, SkillEvolutionResult, SerializableSkillEvolutionConfig } from '../protocol/skill-evolution.js'; export type { SkillEvolutionMode } from '../protocol/skill-evolution.js'; export declare const MAX_SKILL_EVOLUTION_REVIEW_THRESHOLD = 10; export type { EffectiveEvolutionConfig, EffectiveSkillEvolutionConfig, SkillEvolutionGateInput, SkillEvolutionGateResult, SkillEvolutionResult, SerializableEvolutionConfig, SerializableSkillEvolutionConfig, SkillEvolutionSuggestion, } from '../protocol/skill-evolution.js'; export type SkillEvolutionShouldReview = (input: SkillEvolutionGateInput, options: { signal: AbortSignal; }) => Promise; export type SkillEvolutionGenerationOptions = { enabled?: boolean; prompt?: string; maxSuggestions?: number; turnComplete?: { enabled?: boolean; /** Integer from 1 to 10. Defaults to 5. */ reviewThreshold?: number; shouldReview?: SkillEvolutionShouldReview; timeoutMs?: number; onGateError?: 'skip' | 'report_failed'; }; onResult?: (result: SkillEvolutionResult) => void | Promise; }; export type SkillEvolutionOptions = { mode: 'native'; generation?: Pick & { turnComplete?: Pick, 'reviewThreshold'>; }; } | { mode: 'custom'; generation?: SkillEvolutionGenerationOptions; }; export type EvolutionOptions = { skill?: SkillEvolutionOptions; }; export type SkillEvolutionRuntimeCallbacks = { shouldReviewCallbacks: ReadonlyMap; onResult?: SkillEvolutionGenerationOptions['onResult']; }; export type PreparedSkillEvolutionOptions = { config?: SerializableSkillEvolutionConfig; callbacks?: SkillEvolutionRuntimeCallbacks; };