/**
 * Entity Queries
 *
 * Query functions for the Entity Registry.
 * These operate on the auto-generated ENTITY_REGISTRY data.
 *
 * @module core/lib/entities/queries
 */
import { ENTITY_REGISTRY, ENTITY_METADATA, type EntityName, type EntityRegistryEntry } from '@nextsparkjs/registries/entity-registry';
import type { EntityConfig, ChildEntityDefinition } from './types';
export interface EntityOwner {
    type: 'plugin' | 'theme';
    name: string;
}
/**
 * Get all registered entity configs
 */
export declare function getRegisteredEntities(): (EntityConfig | ChildEntityDefinition)[];
/**
 * Get entity config by name
 */
export declare function getEntity(name: EntityName): EntityConfig | ChildEntityDefinition | undefined;
/**
 * Get entity with full metadata
 */
export declare function getEntityMetadata(name: EntityName): EntityRegistryEntry | undefined;
/**
 * Get root entities (no parent)
 */
export declare function getRootEntities(): EntityRegistryEntry[];
/**
 * Get child entities of a parent
 */
export declare function getChildEntities(parentName: EntityName): EntityRegistryEntry[];
export interface EntityTreeNode extends Omit<EntityRegistryEntry, 'children'> {
    childNodes: EntityTreeNode[];
}
/**
 * Get entity tree (hierarchical)
 */
export declare function getEntityTree(): EntityTreeNode[];
/**
 * Get entities by depth level
 */
export declare function getEntitiesByDepth(depth: number): EntityRegistryEntry[];
/**
 * Get table name for entity
 */
export declare function getEntityTableName(name: EntityName): string | undefined;
/**
 * Get entity by table name (reverse lookup)
 */
export declare function getEntityByTableName(tableName: string): EntityRegistryEntry | undefined;
/**
 * Get entities from a specific plugin
 */
export declare function getPluginEntities(pluginName: string): EntityRegistryEntry[];
/**
 * Get entities from a specific theme
 */
export declare function getThemeEntities(themeName: string): EntityRegistryEntry[];
/**
 * Get entity owner (plugin or theme)
 */
export declare function getEntityOwner(entityName: EntityName): EntityOwner | null;
/**
 * Get entity by slug
 */
export declare function getEntityBySlug(slug: string): EntityConfig | ChildEntityDefinition | undefined;
/**
 * Get entity metadata (totals, counts, etc.)
 */
export declare function getEntityRegistryMetadata(): any;
export { ENTITY_REGISTRY, ENTITY_METADATA, type EntityName, type EntityRegistryEntry };
//# sourceMappingURL=queries.d.ts.map