/**
 * Behavior Registry Query Helpers
 *
 * Programmatic access to behaviors-registry.json for filtering,
 * searching, and summarizing behaviors. Used by @almadar/skills
 * to compose agent prompts dynamically.
 *
 * @packageDocumentation
 */
interface RegistryEntry {
    name: string;
    level: 'atom' | 'molecule' | 'organism';
    family: string;
    layer: string;
    description: string;
    statePattern: string;
    complexity: {
        states: number;
        events: number;
        transitions: number;
    };
    defaultEntity: {
        name: string;
        persistence: string;
        fields: Array<{
            name: string;
            type: string;
            default?: string;
        }>;
    };
    defaultLabels: {
        title: string;
        entitySingular: string;
        entityPlural: string;
    };
    composableWith: string[];
    connectableEvents: string[];
    eventPayloads: Record<string, Array<{
        name: string;
        type: string;
        required: boolean;
    }>>;
}
interface BehaviorSummary {
    name: string;
    level: string;
    description: string;
    states: string[];
    events: string[];
    slots: string[];
    patterns: string[];
    complexity: {
        states: number;
        events: number;
        transitions: number;
    };
    composableWith: string[];
}
/**
 * Read and cache the behavior registry.
 * Async to support bundled environments where fs may not be available.
 */
declare function getBehaviorRegistry(): Promise<Record<string, RegistryEntry>>;
/**
 * Filter behaviors by domain. Matches against layer (primary) and family (fallback).
 */
declare function getBehaviorsByDomain(domain: string): Promise<RegistryEntry[]>;
/**
 * Filter behaviors by connectable operations (events).
 * Returns behaviors sorted by match count (most matching ops first).
 */
declare function getBehaviorsByOperations(ops: string[]): Promise<RegistryEntry[]>;
/**
 * Fuzzy search across name, description, family, layer, and entity name.
 */
declare function searchBehaviors(query: string): Promise<RegistryEntry[]>;
/**
 * Get a compact summary of a behavior including slots and patterns from the .orb file.
 */
declare function getBehaviorSummary(name: string): Promise<BehaviorSummary | null>;

export { type BehaviorSummary, type RegistryEntry, getBehaviorRegistry, getBehaviorSummary, getBehaviorsByDomain, getBehaviorsByOperations, searchBehaviors };
