import { type Nullable } from "@onerjs/core/types.js"; import { type ConnectionPoint, type RuntimeData } from "../connection/connectionPoint.js"; import { type ConnectionPointType } from "../connection/connectionPointType.js"; import { BaseBlock } from "./baseBlock.js"; /** * The aggregate block class is the base class for all blocks that be created from other blocks. * * It is responsible for managing a hidden chain of smart filter blocks in order and expose them through * its own connection points. * * The internal state is basically a filter itself. */ export declare abstract class AggregateBlock extends BaseBlock { /** * The class name of the block. */ static ClassName: string; /** * The list of relationships between the internal graph output and the outside ones. */ private readonly _aggregatedOutputs; /** * The list of relationships between the internal graph inputs and the outside ones. */ private readonly _aggregatedInputs; /** * Do not override prepareForRuntime for aggregate blocks. It is not supported. */ prepareForRuntime(): never; /** * @internal * Merges the internal graph into the SmartFilter */ _mergeIntoSmartFilter(mergedAggregateBlocks: AggregateBlock[]): void; /** * @internal * Undoes a previous mergeIntoSmartFilter call. */ _unmergeFromSmartFilter(): void; /** * Registers an input connection from the internal graph as an input of the aggregated graph. * @param name - The name of the exposed input connection point * @param internalConnectionPoints - The input connection points in the inner graph to wire up to the new subfilter input * @param defaultValue - The default value to use for the input connection point * @returns the connection point referencing the input block */ protected _registerSubfilterInput(name: string, internalConnectionPoints: ConnectionPoint[], defaultValue?: Nullable>): ConnectionPoint; /** * Registers an output connection point from the internal graph as an output of the aggregated graph. * @param name - The name of the exposed output connection point * @param internalConnectionPoint - The output connection point in the inner graph to expose as an output on the aggregate block * @returns the connection point referencing the output connection point */ protected _registerSubfilterOutput(name: string, internalConnectionPoint: ConnectionPoint): ConnectionPoint; } //# sourceMappingURL=aggregateBlock.d.ts.map