import { Getter } from '@loopback/core';
import { BelongsToAccessor, Entity } from '@loopback/repository';
import { Tenant, TenantMgmtConfig } from '../../models';
import { IAuthUserWithPermissions } from '@sourceloop/core';
import { TenantRepository } from './tenant.repository';
import { SequelizeDataSource } from '@loopback/sequelize';
import { SequelizeUserModifyCrudRepository } from '@sourceloop/core/sequelize';
export declare class TenantMgmtConfigRepository<T extends TenantMgmtConfig = TenantMgmtConfig> extends SequelizeUserModifyCrudRepository<T, typeof TenantMgmtConfig.prototype.id, {}> {
    readonly getCurrentUser: Getter<IAuthUserWithPermissions>;
    protected tenantRepositoryGetter: Getter<TenantRepository>;
    private readonly tenantMgmtConfig;
    readonly tenant: BelongsToAccessor<Tenant, typeof TenantMgmtConfig.prototype.id>;
    constructor(getCurrentUser: Getter<IAuthUserWithPermissions>, dataSource: SequelizeDataSource, tenantRepositoryGetter: Getter<TenantRepository>, tenantMgmtConfig: typeof Entity & {
        prototype: T;
    });
}
