import { A_Fragment, A_TYPES__Ctor } from '@adaas/a-concept'; import { A_SignalVector } from '@adaas/a-utils/a-signal'; import { Are } from '../AreComponent/Are.component.js'; import { AreSignalsContextConfig } from './AreSignals.types.js'; import { g as AreNode } from '../../Are.context-BVSQcfwl.js'; import { AreSignalsMeta } from './AreSignals.meta.js'; import '../AreComponent/Are.types.js'; import '../AreComponent/Are.constants.js'; import '../AreEvent/AreEvent.context.js'; import '@adaas/a-utils/a-execution'; import '../AreStore/AreStore.types.js'; import '../AreStore/AreStore.constants.js'; import '../AreScene/AreScene.constants.js'; import '../AreAttribute/AreAttribute.types.js'; import '../AreAttribute/AreAttribute.constants.js'; import '../AreNode/AreNode.constants.js'; declare class AreSignalsContext extends A_Fragment { /** * Where key is the root ID and the value is an Array of components that participate in conditional compilation. */ protected _componentMap: Map>>; protected _defaultsMap: Map>; protected _conditionsMap: Map; component: A_TYPES__Ctor; }>>; protected _subscribers: Set; protected signalsMeta(): AreSignalsMeta; subscribe(subscriber: S): void; unsubscribe(subscriber: S): void; get subscribers(): Set; constructor( /** * Where key is the root ID and the value is an Array of components that participate in conditional compilation. */ config?: Partial>); /** * Returns the components associated with the given ID. If no components are found, returns an empty array. * * @param id The ID of the component group. * @returns An array of component constructors. */ getComponentById(id: string): Array>; /** * Returns the components associated with the root ID of the given node. If no components are found, returns an empty array. * * @param node The AreNode whose root ID is used to retrieve the components. * @returns An array of component constructors. */ getComponentByRoot(node: AreNode): Array>; /** * Adds a new component to the specified root ID. If the root ID does not exist, it will be created. * * @param rootId The ID of the root component group. * @param components An array of component constructors to add. */ extendRoot(rootId: string, components: Array>): void; /** * Whether routing is configured for the given root ID. * When false, the root should leave its original template content untouched. * * @param rootId The id attribute of the element. */ hasRoot(rootId: string): boolean; /** * Returns the default component associated with the given root ID, if any. * * @param rootId The ID of the root component group. */ getDefault(rootId: string): A_TYPES__Ctor | undefined; /** * Finds the matching component for the given root ID and incoming signal vector. * * Matching priorities (mirroring AreSignalsMeta): * 1. Full equivalence — vector.equals(conditionVector) * 2. Logical match — vector.match(conditionVector) * 3. Inclusion — incoming vector contains every signal type from condition, checked with signal.compare() * * @param rootId The id attribute of the element. * @param vector The incoming signal vector from the bus. */ findComponentByVector(rootId: string, vector: A_SignalVector): A_TYPES__Ctor | undefined; } export { AreSignalsContext };