import { AttributeValue } from "./util";
import { NAryFunction } from "./NAryFunction";
import { ResultValue } from "./ResultValue";
export declare class Attribute implements NAryFunction<AttributeValue> {
    attributeId: string;
    constructor(featureId: string);
    eval(): Promise<ResultValue<AttributeValue>>;
    equals(other: NAryFunction<any>): boolean;
}
/**
 * NAryFunction that returns an attribute value, which resolves to a number or string.
 * @param attributeId Id of the attribute
 * @param featureRetriever FeatureRetriever instance. Recommended to just call featureRetriever.getLogicAttribute()
 * @returns
 */
export declare function attribute(attributeId: string): NAryFunction<AttributeValue>;
