import { z } from 'zod';
/**
 * Structured payload emitted by execution runs with `intent='plan'`.
 *
 * Transport:
 * - Stored on the session transcript message under `meta.happier`.
 * - Reducer propagates tool-result meta onto the originating tool-call message,
 *   so the card renders on the tool-call line in the transcript.
 */
export declare const PlanOutputSectionV1Schema: z.ZodObject<{
    title: z.ZodString;
    items: z.ZodArray<z.ZodString>;
}, z.core.$loose>;
export type PlanOutputSectionV1 = z.infer<typeof PlanOutputSectionV1Schema>;
export declare const PlanOutputMilestoneV1Schema: z.ZodObject<{
    title: z.ZodString;
    details: z.ZodOptional<z.ZodString>;
}, z.core.$loose>;
export type PlanOutputMilestoneV1 = z.infer<typeof PlanOutputMilestoneV1Schema>;
export declare const PlanOutputV1Schema: z.ZodObject<{
    runRef: z.ZodObject<{
        runId: z.ZodString;
        callId: z.ZodString;
        backendId: z.ZodString;
        backendTarget: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
            kind: z.ZodLiteral<"builtInAgent">;
            agentId: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"configuredAcpBackend">;
            backendId: z.ZodString;
        }, z.core.$strip>]>>;
        retentionPolicy: z.ZodOptional<z.ZodEnum<{
            ephemeral: "ephemeral";
            resumable: "resumable";
        }>>;
    }, z.core.$loose>;
    summary: z.ZodString;
    sections: z.ZodArray<z.ZodObject<{
        title: z.ZodString;
        items: z.ZodArray<z.ZodString>;
    }, z.core.$loose>>;
    risks: z.ZodOptional<z.ZodArray<z.ZodString>>;
    milestones: z.ZodOptional<z.ZodArray<z.ZodObject<{
        title: z.ZodString;
        details: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>>>;
    recommendedBackendId: z.ZodOptional<z.ZodString>;
    generatedAtMs: z.ZodNumber;
}, z.core.$loose>;
export type PlanOutputV1 = z.infer<typeof PlanOutputV1Schema>;
export declare function parsePlanOutputV1(input: unknown): PlanOutputV1 | null;
//# sourceMappingURL=planOutputV1.d.ts.map