import { Key, PID } from '../catalog'; import { AttributeInfo } from './attribute_info'; import { AID } from './interfaces'; /** * TensorEntityBuilder collects Attribute and Entity values that will later be * used to generate an Entity key which can be used to lookup the specific PID. * * For example, we might have a `cone` which is configured by `flavor` and * `size` dimensions. * * Adding the entity `cone` and the attributes `small` and `chocolate` will * allow us to generate a key which yields the PID for a `small chocolate cone`. */ export declare class TensorEntityBuilder { private readonly info; private pid; private readonly dimensionIdToAttribute; constructor(info: AttributeInfo); hasPID(): boolean; setPID(pid: PID): boolean; addAttribute(aid: AID): boolean; setAttribute(aid: AID): void; getKey(generateRegexKey: boolean): Key; /** * Iterator for PIDs of attributes that aren't associated with dimensions of * the entity's tensor. This includes all collected attributes in the cases * where the entity has not been set and where the entity is not associated * with a tensor. */ getUnusedAttributes(): IterableIterator; }