import { Repository } from 'typeorm';
import { Company } from './entities/company.entity.js';
import { Contact } from '../contacts/entities/contact.entity.js';
import { Project } from '../projects/entities/project.entity.js';
import { CreateCompanyDto } from './dto/create-company.dto.js';
import { UpdateCompanyDto } from './dto/update-company.dto.js';
import { QueryCompanyDto } from './dto/query-company.dto.js';
import { PaginatedResponseDto } from '../common/dto/pagination.dto.js';
import { UserRole } from '../users/entities/user.entity.js';
export declare class CompaniesService {
    private companiesRepository;
    private contactsRepository;
    private projectsRepository;
    constructor(companiesRepository: Repository<Company>, contactsRepository: Repository<Contact>, projectsRepository: Repository<Project>);
    create(createCompanyDto: CreateCompanyDto): Promise<Company>;
    findAll(query: QueryCompanyDto): Promise<PaginatedResponseDto<Company>>;
    findOne(id: string): Promise<any>;
    update(id: string, updateCompanyDto: UpdateCompanyDto, userRole: UserRole): Promise<Company>;
    remove(id: string, userRole: UserRole): Promise<void>;
}
