/**
 * EventHandlerBoard Organism
 *
 * Contains ALL game logic for the Event Handler tier (ages 9-12).
 * Kids click on world objects, set WHEN/THEN rules, and watch
 * event chains cascade during playback.
 *
 * Encourages experimentation: on failure, resets to editing so the kid
 * can try different rules. After 3 failures, shows a progressive hint.
 *
 * @packageDocumentation
 */
import React from 'react';
import type { EventEmit } from '@almadar/core';
import type { EntityDisplayProps } from '../../../types';
import { type PuzzleObjectDef } from './ObjectRulePanel';
export interface EventHandlerPuzzleEntity {
    id: string;
    title: string;
    description: string;
    /** Objects the kid can configure */
    objects: PuzzleObjectDef[];
    /** Goal condition description */
    goalCondition: string;
    /** Event that represents goal completion */
    goalEvent: string;
    /** Sequence of events that auto-fire to start the simulation */
    triggerEvents?: string[];
    /** Feedback */
    successMessage?: string;
    failMessage?: string;
    /** Progressive hint shown after 3 failures */
    hint?: string;
    /** Header image URL displayed above the title */
    headerImage?: string;
    /** Visual theme overrides */
    theme?: {
        background?: string;
        accentColor?: string;
    };
}
export interface EventHandlerBoardProps extends Omit<EntityDisplayProps, 'entity'> {
    /** Puzzle data */
    entity: EventHandlerPuzzleEntity;
    /** Playback speed in ms per event */
    stepDurationMs?: number;
    /** Emits UI:{playEvent} */
    playEvent?: EventEmit<Record<string, never>>;
    /** Emits UI:{completeEvent} with { success } */
    completeEvent?: EventEmit<{
        success: boolean;
    }>;
}
export declare function EventHandlerBoard({ entity, stepDurationMs, playEvent, completeEvent, className, }: EventHandlerBoardProps): React.JSX.Element;
export declare namespace EventHandlerBoard {
    var displayName: string;
}
export default EventHandlerBoard;
