/**
 * BuilderBoard
 *
 * Component-snapping game board. The player places components
 * onto slots in a blueprint. Correct placement completes the build.
 *
 * Good for: architecture, circuits, molecules, system design stories.
 *
 * Events emitted via completeEvent (default UI:PUZZLE_COMPLETE).
 */
import React from 'react';
import type { EventEmit, EntityRow } from '@almadar/core';
import type { DisplayStateProps } from '../../../../core/organisms/types';
/** A draggable build component (UI value DTO read off the entity). */
export interface BuilderComponent {
    id: string;
    label: string;
    description?: string;
    iconEmoji?: string;
    /** Image URL icon (takes precedence over iconEmoji) */
    iconUrl?: string;
    category?: string;
}
/** A blueprint slot accepting a component (UI value DTO read off the entity). */
export interface BuilderSlot {
    id: string;
    label: string;
    description?: string;
    acceptsComponentId: string;
}
export interface BuilderBoardProps extends DisplayStateProps {
    /** Puzzle board-state entity (single row or array). The board reads
     *  `components` / `slots` arrays plus title/description/hint off the row. */
    entity?: EntityRow | readonly EntityRow[];
    completeEvent?: EventEmit<{
        success: boolean;
        attempts: number;
    }>;
}
export declare function BuilderBoard({ entity, completeEvent, className, }: BuilderBoardProps): React.JSX.Element | null;
export declare namespace BuilderBoard {
    var displayName: string;
}
