import { LimeType, LimeProperty } from '@limetech/lime-web-components';
/**
 * Get normalized properties for a limetype
 * Adds system properties (_id, _timestamp, etc.) that map to the actual limeobject attributes
 * @param limetype The limetype to normalize
 * @returns Normalized properties with system properties prefixed with underscore
 */
export declare function getNormalizedProperties(limetype: LimeType): Record<string, LimeProperty>;
/**
 * Get property from limetype by path (e.g., "company.name")
 * Supports relation traversal with dot-notation
 * @param limetypes
 * @param limetype
 * @param path
 */
export declare function getPropertyFromPath(limetypes: Record<string, LimeType>, limetype: string, path: string): LimeProperty | undefined;
/**
 * Validates a property path to ensure no intermediate properties are hasMany or hasAndBelongsToMany relations.
 * These relation types cannot be traversed in filter expressions.
 * @param limetypes All limetype definitions
 * @param limetype The starting limetype
 * @param path The property path to validate (e.g., "company.name")
 * @returns The property at the end of the path if valid, or undefined with error if invalid
 */
export declare function validatePropertyPath(limetypes: Record<string, LimeType>, limetype: string, path: string): {
    property: LimeProperty | undefined;
    error?: string;
};
//# sourceMappingURL=property-resolution.d.ts.map