import 'reflect-metadata';
import { RecordKey } from '../../types';
import { Parser } from './models';
export declare abstract class ReflectType {
    /**
     * Parses provided according to its meta type. If no type found, the original
     * value is returned, otherwise a value is only returned in parseable cases.
     * @param target The object.
     * @param key The property key.
     * @param value Optional value override to parse instead.
     */
    static parse(target: Object, key: RecordKey, value?: any): any;
    /** Gets the meta type of that identified by the supplied parameters. */
    static getType(target: Object, key: RecordKey): string;
    /** Gets parser for supported meta types. */
    static getParser(type: string): Parser<any>;
}
