import { IClassRef } from './IClassRef';
import { IBaseRef } from './IBaseRef';
import { IBuildOptions } from './IBuildOptions';
export declare function isPropertyRef(x: any): boolean;
export interface IPropertyRef extends IBaseRef {
    /**
     * Return if is identifier
     */
    isIdentifier(): boolean;
    /**
     * Return if property is a pattern property
     */
    isPattern(): boolean;
    isReference(): boolean;
    getType(): string | Function;
    /**
     * get class ref of the property
     */
    getClassRef(): IClassRef;
    getTargetRef(): IClassRef;
    /**
     * If property is added by an extra class.
     */
    isAppended(): boolean;
    isCollection(): boolean;
    convert(i: any, options?: IBuildOptions): any;
    get(instance: any): any;
}
