/**
 * `store_lesson` MCP tool — wedge-gate Stage 1 input (capture).
 *
 * G.3 architectural exception (T.1.H read-only invariant): Stage 1
 * capture IS THE INPUT to the rule pipeline, not a bypass of it. Stage 2
 * (promotion) is automation-only and NOT exposed via MCP — promoting
 * from an external client would bypass the outcome-validation moat.
 *
 * The `next_steps` field is anti-misuse copy reminding callers NOT to
 * call promote_lesson directly from the harness.
 *
 * Engine `LessonCreateParams` carries `description / body / evidence` —
 * the MCP-surface fields `classification` and `source_signal` are
 * round-tripped via the `evidence` array (prefixed entries) so the
 * data survives without requiring an engine schema bump.
 *
 * Imports from: ../../rag/wedge/store.js, zod.
 * Imported by: mcp/server.ts (handler map).
 */
import { z } from 'zod';
import type { WedgeLessonStore } from '../../rag/wedge/store.js';
export declare const StoreLessonSchema: z.ZodObject<{
    description: z.ZodString;
    content: z.ZodString;
    classification: z.ZodEnum<["workflow", "preference", "skill_upgrade"]>;
    source_session_id: z.ZodOptional<z.ZodString>;
    source_signal: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    description: string;
    content: string;
    classification: "workflow" | "preference" | "skill_upgrade";
    source_session_id?: string | undefined;
    source_signal?: string | undefined;
}, {
    description: string;
    content: string;
    classification: "workflow" | "preference" | "skill_upgrade";
    source_session_id?: string | undefined;
    source_signal?: string | undefined;
}>;
export type StoreLessonArgs = z.infer<typeof StoreLessonSchema>;
export interface StoreLessonOutput {
    id: string;
    status: 'pending' | 'promoted';
    next_steps: string;
}
export declare const NEXT_STEPS_GUIDANCE: string;
export declare function handleStoreLesson(args: StoreLessonArgs, store: WedgeLessonStore): Promise<StoreLessonOutput>;
//# sourceMappingURL=store-lesson.d.ts.map