import { type ThinEngine } from "@onerjs/core/Engines/thinEngine.js"; import { type SmartFilterDeserializer, type SerializedBlockDefinition } from "../serialization/index.js"; import { type SmartFilter } from "../smartFilter.js"; import { AggregateBlock } from "./aggregateBlock.js"; import { type BaseBlock } from "./baseBlock.js"; import { type Nullable } from "@onerjs/core/types.js"; /** * Loads a serialized Smart Filter into a block which can be used in another SmartFilter. */ export declare class CustomAggregateBlock extends AggregateBlock { /** * Creates a new CustomAggregateBlock * @param smartFilter - The Smart Filter to create the block for * @param engine - The ThinEngine to use * @param name - The friendly name of the block * @param serializedSmartFilter - The serialized SmartFilter to load into the block * @param smartFilterDeserializer - The deserializer to use * @returns A promise that resolves to the new CustomAggregateBlock */ static Create(smartFilter: SmartFilter, engine: ThinEngine, name: string, serializedSmartFilter: SerializedBlockDefinition, smartFilterDeserializer: SmartFilterDeserializer): Promise; /** * The class name of the block. */ static ClassName: string; private readonly _blockType; private readonly _namespace; /** * The type of the block - used when serializing / deserializing the block, and in the editor. */ get blockType(): string; /** * The namespace of the block, which is used to reduce name collisions between blocks and also to group blocks in the editor UI. * By convention, sub namespaces are separated by a period (e.g. "Babylon.Demo.Effects"). */ get namespace(): Nullable; private constructor(); } //# sourceMappingURL=customAggregateBlock.d.ts.map