/**
 * AvlBehaviorGlyph - Visual identity for a behavior.
 *
 * Generates a unique glyph from behavior properties:
 * - Core shape = persistence type
 * - Spokes = field count
 * - Rings = state count
 * - Markers = effect types used
 * - Color = domain hue
 * - Composition = child glyphs + event wiring (molecule/organism)
 */
import React from 'react';
import type { AvlEffectType, AvlPersistenceKind } from '../../atoms/avl/types';
export declare const DOMAIN_COLORS: Record<string, string>;
export type BehaviorLevel = 'atom' | 'molecule' | 'organism';
export type GlyphSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
export interface BehaviorGlyphChild {
    name: string;
    fieldCount?: number;
    stateCount?: number;
    persistence?: AvlPersistenceKind;
    effectTypes?: AvlEffectType[];
}
export interface BehaviorGlyphConnection {
    from: string;
    to: string;
    event: string;
}
export interface AvlBehaviorGlyphProps {
    /** Behavior name */
    name: string;
    /** Composition level */
    level?: BehaviorLevel;
    /** Domain for color coding */
    domain?: string;
    /** Override color (otherwise derived from domain) */
    color?: string;
    /** Entity field count (drives spoke count) */
    fieldCount?: number;
    /** State count (drives ring count) */
    stateCount?: number;
    /** Persistence type (drives core shape) */
    persistence?: AvlPersistenceKind;
    /** Effect types used (drives markers on rings) */
    effectTypes?: AvlEffectType[];
    /** Child behaviors for molecule/organism composition */
    children?: BehaviorGlyphChild[];
    /** Event connections between children (organism level) */
    connections?: BehaviorGlyphConnection[];
    /** Size preset */
    size?: GlyphSize;
    /** Show text labels */
    showLabels?: boolean;
    /** Animate orbital rings */
    animated?: boolean;
    /** Additional className */
    className?: string;
    /** Click handler */
    onClick?: () => void;
}
export declare const AvlBehaviorGlyph: React.FC<AvlBehaviorGlyphProps>;
