import { z } from 'zod'; import type { ConversationStore } from '../ai/conversation/types'; import { invokeCognition } from '../ai/router'; import type { Config } from '../config/schema'; import type { EventBus } from '../events/bus'; import type { EmitContext } from '../events/emit'; export declare const learningNotesSchema: z.ZodObject<{ summary: z.ZodString; rules: z.ZodDefault>; skills: z.ZodDefault>; docs: z.ZodDefault>; }, z.core.$strict>; export type LearningNotes = z.infer; type LearningNotesClient = Parameters>[0]['client']; export type LearningInput = { task?: { key?: string; title?: string; provider?: string; }; diffStat?: string; planSummary?: string; implementationSummary?: string; verification?: { ok?: boolean; }; localGate?: { ok?: boolean; blockers?: number; warnings?: number; }; review?: { unresolved?: number; actionable?: number; }; ciFixSummary?: { summary?: string; }; blockedReason?: string; pr?: { url?: string; }; }; export declare function generateLearningNotes(options: { input: LearningInput; store: ConversationStore; config: Config; cacheDir?: string; bus?: EventBus; context?: EmitContext; invoke?: typeof invokeCognition; client?: LearningNotesClient; }): Promise; export declare function renderLearningMarkdown(runId: string, input: LearningInput, notes: LearningNotes): string; export declare function applyLearningNotes(options: { runId: string; worktreeRoot: string; notes: LearningNotes; targets: { rules?: string; skills?: string; docs?: string; }; }): Promise<{ appliedTo: string[]; }>; export {};