import { IPropertyRef } from '../../api/IPropertyRef';
import { AbstractRef } from '../AbstractRef';
import { IBuildOptions } from '../../api/IBuildOptions';
import { IClassRef } from '../../api/IClassRef';
import { IMinMax, METADATA_TYPE } from '../Constants';
import { IPropertyOptions } from '../options/IPropertyOptions';
import { ILookupRegistry } from '../../api/ILookupRegistry';
export declare class DefaultPropertyRef extends AbstractRef implements IPropertyRef {
    cardinality: IMinMax | number;
    reference: boolean;
    targetRef: IClassRef;
    constructor(options?: IPropertyOptions);
    getRegistry(): ILookupRegistry;
    /**
     * TODO
     */
    convert(data: any, options?: IBuildOptions): any;
    get(instance: any): any;
    getTargetRef(): IClassRef;
    getType(): string;
    isAppended(): boolean;
    /**
     * TODO
     */
    id(): string;
    /**
     * check if property parameter is an array
     */
    isCollection(): boolean;
    /**
     * Return if is identifier
     */
    isIdentifier(): boolean;
    /**
     * Return if is a pattern property
     */
    isPattern(): boolean;
    /**
     * Returns info if property parameter results are in classspace
     */
    isReference(): boolean;
    /**
     * Check if property is a to an other object referring property.
     *
     * Note:
     *   types defined as string, must match the following conditions to be interpreted as reference to an other object:
     *   - not contain any upper case
     *   - not a defined supported type
     *
     * @private
     */
    private checkReference;
    /**
     * Check type given as string if it is an object type.
     *
     * Note:
     *   types defined as string, must match the following conditions to be interpreted as reference to an other object:
     *   - not contain any upper case
     *   - not a defined supported type
     *
     * @private
     */
    isReferencingType(type: string): boolean;
    getClassRefFor(object: string | Function | IClassRef, type: METADATA_TYPE): IClassRef;
}
