import { z } from 'zod';
import type { EventChoice, EventErrorEnvelope, EventPromptEnvelope, EventResolvedEnvelope, EventResponseCommand, OutboundEventEnvelope } from './types.js';
export declare const eventChoiceSchema: z.ZodObject<{
    choiceId: z.ZodString;
    text: z.ZodString;
    energyCost: z.ZodOptional<z.ZodNumber>;
    moneyCost: z.ZodOptional<z.ZodNumber>;
    diamondCost: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
export declare const eventEffectsSchema: z.ZodObject<{
    stats: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    resources: z.ZodOptional<z.ZodObject<{
        energy: z.ZodOptional<z.ZodNumber>;
        money: z.ZodOptional<z.ZodNumber>;
        diamonds: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>>;
    relationships: z.ZodOptional<z.ZodArray<z.ZodObject<{
        personId: z.ZodString;
        affinityDelta: z.ZodNumber;
    }, z.core.$strip>>>;
}, z.core.$strip>;
export declare const eventPromptEnvelopeSchema: z.ZodObject<{
    type: z.ZodLiteral<"event_prompt">;
    eventId: z.ZodString;
    instanceId: z.ZodString;
    prompt: z.ZodString;
    choices: z.ZodArray<z.ZodObject<{
        choiceId: z.ZodString;
        text: z.ZodString;
        energyCost: z.ZodOptional<z.ZodNumber>;
        moneyCost: z.ZodOptional<z.ZodNumber>;
        diamondCost: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.core.$strip>;
export declare const eventResolvedEnvelopeSchema: z.ZodObject<{
    type: z.ZodLiteral<"event_resolved">;
    eventId: z.ZodString;
    instanceId: z.ZodString;
    resolutionText: z.ZodString;
    effects: z.ZodOptional<z.ZodObject<{
        stats: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        resources: z.ZodOptional<z.ZodObject<{
            energy: z.ZodOptional<z.ZodNumber>;
            money: z.ZodOptional<z.ZodNumber>;
            diamonds: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strip>>;
        relationships: z.ZodOptional<z.ZodArray<z.ZodObject<{
            personId: z.ZodString;
            affinityDelta: z.ZodNumber;
        }, z.core.$strip>>>;
    }, z.core.$strip>>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.core.$strip>;
export declare const eventErrorEnvelopeSchema: z.ZodObject<{
    type: z.ZodLiteral<"event_error">;
    code: z.ZodString;
    message: z.ZodString;
    eventId: z.ZodOptional<z.ZodString>;
    instanceId: z.ZodOptional<z.ZodString>;
    details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.core.$strip>;
export declare const outboundEventEnvelopeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    type: z.ZodLiteral<"event_prompt">;
    eventId: z.ZodString;
    instanceId: z.ZodString;
    prompt: z.ZodString;
    choices: z.ZodArray<z.ZodObject<{
        choiceId: z.ZodString;
        text: z.ZodString;
        energyCost: z.ZodOptional<z.ZodNumber>;
        moneyCost: z.ZodOptional<z.ZodNumber>;
        diamondCost: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.core.$strip>, z.ZodObject<{
    type: z.ZodLiteral<"event_resolved">;
    eventId: z.ZodString;
    instanceId: z.ZodString;
    resolutionText: z.ZodString;
    effects: z.ZodOptional<z.ZodObject<{
        stats: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        resources: z.ZodOptional<z.ZodObject<{
            energy: z.ZodOptional<z.ZodNumber>;
            money: z.ZodOptional<z.ZodNumber>;
            diamonds: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strip>>;
        relationships: z.ZodOptional<z.ZodArray<z.ZodObject<{
            personId: z.ZodString;
            affinityDelta: z.ZodNumber;
        }, z.core.$strip>>>;
    }, z.core.$strip>>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.core.$strip>, z.ZodObject<{
    type: z.ZodLiteral<"event_error">;
    code: z.ZodString;
    message: z.ZodString;
    eventId: z.ZodOptional<z.ZodString>;
    instanceId: z.ZodOptional<z.ZodString>;
    details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.core.$strip>], "type">;
export declare const eventResponseMessageSchema: z.ZodObject<{
    eventId: z.ZodString;
    choiceId: z.ZodString;
}, z.core.$strip>;
export declare const eventResponseCommandSchema: z.ZodObject<{
    type: z.ZodLiteral<"eventResponse">;
    message: z.ZodObject<{
        eventId: z.ZodString;
        choiceId: z.ZodString;
    }, z.core.$strip>;
}, z.core.$strip>;
export declare function parseEventChoice(input: unknown): EventChoice;
export declare function parseEventEnvelope(input: unknown): OutboundEventEnvelope;
export declare function parseEventResponseCommand(input: unknown): EventResponseCommand;
export declare function parseEventPromptEnvelope(input: unknown): EventPromptEnvelope;
export declare function parseEventResolvedEnvelope(input: unknown): EventResolvedEnvelope;
export declare function parseEventErrorEnvelope(input: unknown): EventErrorEnvelope;
//# sourceMappingURL=schema.d.ts.map