import { CanActivate, ExecutionContext } from '@nestjs/common';
import { Repository } from 'typeorm';
import { UserCompany } from '../../modules/companies/entities/user-company.entity';
import { Period } from '../../modules/periods/entities/period.entity';
import { Site } from '../../modules/sites/entities/site.entity';
import { UserSite } from '../../modules/sites/entities/user-site.entity';
declare module 'express-serve-static-core' {
    interface Request {
        period?: Period;
        site?: Site;
    }
}
export declare class PeriodAccessGuard implements CanActivate {
    private readonly periodsRepository;
    private readonly sitesRepository;
    private readonly userCompaniesRepository;
    private readonly userSitesRepository;
    constructor(periodsRepository: Repository<Period>, sitesRepository: Repository<Site>, userCompaniesRepository: Repository<UserCompany>, userSitesRepository: Repository<UserSite>);
    canActivate(context: ExecutionContext): Promise<boolean>;
}
