import { ModelConstructor } from '../../model/model-constructor';
import { Metadata } from './metadata';
import { ModelMetadata } from './model-metadata.model';
import { PropertyMetadata } from './property-metadata.model';
export declare function metadataForClass<T>(modelClass: ModelConstructor<T>): Metadata<T>;
export declare function metadataForModel<T>(modelClass: ModelConstructor<T>): ModelMetadata<T>;
/**
 *
 * @param {ModelConstructor<T>} modelClass
 * @param {keyof T} propertyKey Either the name of the property or the name of the
 * @returns {PropertyMetadata<T>}
 */
export declare function metadataForProperty<T>(modelClass: ModelConstructor<T>, propertyKey: keyof T | string): PropertyMetadata<T> | null;
