import type { HyperScriptValue, EvaluationResult, TypedExpressionImplementation, TypedExecutionContext } from '../../types/command-types';
import type { ValidationResult } from '../../types/base-types';
export declare const PossessiveExpressionInputSchema: import("../../validation/lightweight-validators").RuntimeValidator<unknown>;
export type PossessiveExpressionInput = any;
export declare class PossessiveExpression implements TypedExpressionImplementation<HyperScriptValue> {
    readonly name = "possessive";
    readonly category: "object";
    readonly precedence = 10;
    readonly associativity: "left";
    readonly outputType: "object";
    readonly analysisInfo: {
        isPure: boolean;
        canThrow: boolean;
        complexity: "O(1)";
        dependencies: string[];
    };
    readonly inputSchema: import("../../validation/lightweight-validators").RuntimeValidator<unknown>;
    validate(args: unknown[]): ValidationResult;
    evaluate(context: TypedExecutionContext, ...args: HyperScriptValue[]): Promise<EvaluationResult<HyperScriptValue>>;
    private accessPropertyInternal;
    private inferValueType;
    getMetadata(): {
        name: string;
        category: "property-access";
        version: string;
        description: string;
        inputSchema: import("../../validation/lightweight-validators").RuntimeValidator<unknown>;
        supportedFeatures: string[];
        performance: {
            complexity: string;
            averageExecutionTime: string;
            memoryUsage: string;
        };
        capabilities: {
            contextAware: boolean;
            supportsAsync: boolean;
            sideEffects: boolean;
            cacheable: boolean;
        };
    };
}
export declare function createPossessiveExpression(): PossessiveExpression;
export declare function isValidPossessiveExpressionInput(args: unknown[]): args is PossessiveExpressionInput;
export declare function evaluatePossessive(object: HyperScriptValue, property: string, context: TypedExecutionContext): Promise<EvaluationResult<HyperScriptValue>>;
export { PossessiveExpression as default };
//# sourceMappingURL=index.d.ts.map