import { PropertyMetadata, SystemVariableMetadata } from './Metadata/MetadataTypes.js'; export declare class PropertyExpression { cache: Map>; private readonly _keySelector; constructor(keySelector: (propertyName: string, attribute: TAttribute) => string); getProperty(propName: string): PropertyExpression.Prop | undefined; registerProperty(propertyName: string, attribute: TAttribute): void; static fromClassProperties(type: Function | string, keySelector: (propertyName: string, attribute: PropertyMetadata) => string): PropertyExpression; static fromSystemVariables(type: Function | string, keySelector: (propertyName: string, attribute: SystemVariableMetadata) => string): PropertyExpression; } export declare namespace PropertyExpression { class Prop { getter: ((instance: TClass) => unknown) | null; setter: ((instance: TClass, value: unknown) => void) | null; attribute: TAttribute | null; propertyName: string; } } //# sourceMappingURL=PropertyReflection.d.ts.map