import { MultiAssociationAccessors, Transaction, Transactionable } from 'sequelize'; import { CommonFindOptions, CountOptions, DestroyOptions, Filter, FindOneOptions, FindOptions, TargetKey, TK, UpdateOptions } from '../repository'; import { RelationRepository } from './relation-repository'; export type FindAndCountOptions = CommonFindOptions; export interface AssociatedOptions extends Transactionable { tk?: TK; } export declare abstract class MultipleRelationRepository extends RelationRepository { extendFindOptions(findOptions: any): any; find(options?: FindOptions): Promise; findAndCount(options?: FindAndCountOptions): Promise<[any[], number]>; count(options?: CountOptions): Promise; findOne(options?: FindOneOptions): Promise; remove(options: TargetKey | TargetKey[] | AssociatedOptions): Promise; update(options?: UpdateOptions): Promise; destroy(options?: TK | DestroyOptions): Promise; protected destroyByFilter(filter: Filter, transaction?: Transaction): Promise; protected filterHasInclude(filter: Filter, options?: any): boolean; protected accessors(): MultiAssociationAccessors; }