/**
 * @athenna/database
 *
 * (c) João Lenon <lenon@athenna.io>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
import 'reflect-metadata';
import type { BaseModel } from '#src/models/BaseModel';
import type { BelongsToManyOptions } from '#src/types/relations/BelongsToManyOptions';
/**
 * Create belongs to many relation for model class.
 */
export declare function BelongsToMany<T extends BaseModel = any, R extends BaseModel = any, P extends BaseModel = any>(model: (() => new () => R) | string, pivotModel: (() => new () => P) | string, options?: Omit<BelongsToManyOptions<T, R, P>, 'type' | 'model' | 'property'>): (target: T, key: any) => void;
