import type { Request } from 'express';
import type { AuthenticatedUser } from '../../common/interfaces/authenticated-user.interface';
import { AuditService } from '../audit/audit.service';
import { CompaniesService } from './companies.service';
import { CreateCompanyDto } from './dto/create-company.dto';
import { UpdateCompanyDto } from './dto/update-company.dto';
export declare class CompaniesController {
    private readonly companiesService;
    private readonly auditService;
    constructor(companiesService: CompaniesService, auditService: AuditService);
    list(user: AuthenticatedUser): Promise<import("./entities/company.entity").Company[]>;
    getOne(id: number, user: AuthenticatedUser): Promise<import("./entities/company.entity").Company>;
    create(dto: CreateCompanyDto, user: AuthenticatedUser, req: Request): Promise<import("./entities/company.entity").Company>;
    update(id: number, dto: UpdateCompanyDto, user: AuthenticatedUser, req: Request): Promise<import("./entities/company.entity").Company>;
    uploadLogo(id: number, file: Express.Multer.File | undefined, user: AuthenticatedUser, req: Request): Promise<import("./entities/company.entity").Company>;
}
