/**
 * StateArchitectBoard Organism
 *
 * Contains ALL game logic for the State Architect tier (ages 13+).
 * Kids design state machines via a visual graph editor, then run
 * them to see if the behavior matches the puzzle goal.
 *
 * @packageDocumentation
 */
import React from 'react';
import type { EventEmit, EntityRow } from '@almadar/core';
import type { DisplayStateProps } from '../../../../core/organisms/types';
/** A kid-built transition in the visual graph editor (UI value DTO). */
export interface StateArchitectTransition {
    id: string;
    from: string;
    to: string;
    event: string;
    guardHint?: string;
}
/** A puzzle test case (UI value DTO). */
export interface TestCase {
    /** Sequence of events to fire */
    events: string[];
    /** Expected final state */
    expectedState: string;
    /** Description */
    label: string;
}
export interface StateArchitectBoardProps extends DisplayStateProps {
    /** Puzzle board-state entity (single row or array). The board reads
     *  `variables` / `states` / `transitions` / `testCases` etc. off the row. */
    entity?: EntityRow | readonly EntityRow[];
    /** Playback speed */
    stepDurationMs?: number;
    /** Emits UI:{testEvent} */
    testEvent?: EventEmit<Record<string, never>>;
    /** Emits UI:{completeEvent} with { success, passedTests } */
    completeEvent?: EventEmit<{
        success: boolean;
        passedTests: number;
    }>;
}
export declare function StateArchitectBoard({ entity, stepDurationMs, testEvent, completeEvent, className, }: StateArchitectBoardProps): React.JSX.Element | null;
export declare namespace StateArchitectBoard {
    var displayName: string;
}
export default StateArchitectBoard;
