import { ProjectsService } from './projects.service.js';
import { CreateProjectDto } from './dto/create-project.dto.js';
import { UpdateProjectDto } from './dto/update-project.dto.js';
import { QueryProjectDto } from './dto/query-project.dto.js';
import { AssignDevelopersDto } from './dto/assign-developers.dto.js';
import type { JwtPayload } from '../common/decorators/current-user.decorator.js';
export declare class ProjectsController {
    private readonly projectsService;
    constructor(projectsService: ProjectsService);
    create(companyId: string, createProjectDto: CreateProjectDto): Promise<{
        data: import("./entities/project.entity.js").Project;
    }>;
    findAllByCompany(companyId: string, query: QueryProjectDto): Promise<import("../common/dto/pagination.dto.js").PaginatedResponseDto<import("./entities/project.entity.js").Project>>;
    findAll(query: QueryProjectDto): Promise<import("../common/dto/pagination.dto.js").PaginatedResponseDto<any>>;
    findOne(id: string): Promise<{
        data: {
            financial: import("./dto/project-finance.dto.js").ProjectFinancialDto;
            id: string;
            companyId: string;
            projectName: string;
            projectType: string;
            totalValue: string;
            status: import("./entities/project.entity.js").ProjectStatus;
            startDate: string;
            deadline: string;
            description: string;
            createdAt: Date;
            updatedAt: Date;
            deletedAt: Date;
            developers: import("../developers/entities/developer.entity.js").Developer[];
        };
    }>;
    update(id: string, updateProjectDto: UpdateProjectDto, user: JwtPayload): Promise<{
        data: import("./entities/project.entity.js").Project;
    }>;
    assignDevelopers(id: string, assignDevelopersDto: AssignDevelopersDto, user: JwtPayload): Promise<{
        data: import("./entities/project.entity.js").Project;
    }>;
    remove(id: string, user: JwtPayload): Promise<{
        message: string;
    }>;
}
