import { Func } from "../Func.js";
import { ExpressionValue } from "../../../value/ExpressionValue.js";
import { ExprEvalResult } from "../../ExprEvalResult.js";
import { ExprType } from "../../../type/ExprType.js";
import { FunctionExpr } from "../FunctionExpr.js";
export declare class AttributeAccessorFunction extends Func {
    private readonly attributeName;
    static readonly KEY_OBJECT_REF = "objectRef";
    private readonly returnType;
    constructor(attributeName: string, returnType: ExprType);
    getReturnType(argumentTypes: Array<ExprType>): ExprType;
    protected calculateResult(callingExpr: FunctionExpr, evaluatedArguments: Map<string, ExpressionValue>): ExprEvalResult<ExpressionValue>;
}
