import { Attribute as AttributeProto } from "typedb-protocol/proto/concept"; import { ThingImpl } from "../../dependencies_internal"; import { AttributeType } from "../../api/concept/type/AttributeType"; import { Attribute } from "../../api/concept/thing/Attribute"; import { Concept } from "../../api/concept/Concept"; import { Stream } from "../../common/util/Stream"; import { ThingType } from "../../api/concept/type/ThingType"; import { Thing } from "../../api/concept/thing/Thing"; import { TypeDBTransaction } from "../../api/connection/TypeDBTransaction"; import { Value } from "../../api/concept/value/Value"; import ValueType = Concept.ValueType; export declare class AttributeImpl extends ThingImpl implements Attribute { private readonly _type; private readonly _value; constructor(iid: string, inferred: boolean, type: AttributeType, value: Value); isAttribute(): boolean; asAttribute(): Attribute; protected get className(): string; get type(): AttributeType; get valueType(): ValueType; get value(): boolean | number | string | Date; isDeleted(transaction: TypeDBTransaction): Promise; getOwners(transaction: TypeDBTransaction, ownerType?: ThingType): Stream; } export declare namespace AttributeImpl { function ofAttributeProto(proto: AttributeProto): Attribute; }