import type { Request } from 'express';
import type { AuthenticatedUser } from '../../common/interfaces/authenticated-user.interface';
import { AuditService } from '../audit/audit.service';
import { DepartmentsService } from './departments.service';
import { CreateDepartmentDto } from './dto/create-department.dto';
import { UpdateDepartmentDto } from './dto/update-department.dto';
export declare class DepartmentsController {
    private readonly departmentsService;
    private readonly auditService;
    constructor(departmentsService: DepartmentsService, auditService: AuditService);
    list(companyId: number): Promise<import("./entities/department.entity").Department[]>;
    getOne(companyId: number, id: number): Promise<import("./entities/department.entity").Department>;
    create(companyId: number, dto: CreateDepartmentDto, user: AuthenticatedUser, req: Request): Promise<import("./entities/department.entity").Department>;
    update(companyId: number, id: number, dto: UpdateDepartmentDto, user: AuthenticatedUser, req: Request): Promise<import("./entities/department.entity").Department>;
    remove(companyId: number, id: number, user: AuthenticatedUser, req: Request): Promise<void>;
}
