import { ForeignKeyMetadata } from '../metadata';
import { Type } from '@tsdi/ioc';
export interface IForeignKeyDecorator<T extends ForeignKeyMetadata> {
    (foreignKey?: string, refType?: Type, foreignOrder?: number, dbtype?: string, dbfield?: string): PropertyDecorator;
    /**
     * ForeignKey decorator with metadata map.
     * @param {T} [metadata] define matadata map to resolve value to the property.
     */
    (metadata?: T): PropertyDecorator;
    /**
     * ForeignKey decorator.
     */
    (target: object, propertyKey: string | symbol, descriptor?: TypedPropertyDescriptor<any>): void;
}
/**
 * ForeignKey decorator.
 */
export declare const ForeignKey: IForeignKeyDecorator<ForeignKeyMetadata>;
