import { AuthenticatedUser } from '../../../common/decorators/current-user.decorator';
import { WorkService } from '../services/work.service';
import { CreateWorkDto, UpdateWorkDto } from '../dto/work.dto';
export declare class WorkController {
    private readonly workService;
    constructor(workService: WorkService);
    getWorks(user: AuthenticatedUser, complexId: string): Promise<({
        contractor: {
            id: string;
            name: string;
            createdAt: Date;
            legalId: string | null;
            tenantId: string;
            contact: string | null;
            iban: string | null;
        } | null;
    } & {
        id: string;
        description: string | null;
        createdAt: Date;
        status: import(".prisma/client").$Enums.WorkStatus;
        complexId: string;
        startDate: Date | null;
        endDate: Date | null;
        title: string;
        budget: import("@prisma/client/runtime/library").Decimal;
        contractorId: string | null;
        amountSpent: import("@prisma/client/runtime/library").Decimal;
    })[]>;
    createWork(user: AuthenticatedUser, dto: CreateWorkDto): Promise<{
        id: string;
        description: string | null;
        createdAt: Date;
        status: import(".prisma/client").$Enums.WorkStatus;
        complexId: string;
        startDate: Date | null;
        endDate: Date | null;
        title: string;
        budget: import("@prisma/client/runtime/library").Decimal;
        contractorId: string | null;
        amountSpent: import("@prisma/client/runtime/library").Decimal;
    }>;
    getWork(user: AuthenticatedUser, id: string): Promise<{
        contractor: {
            id: string;
            name: string;
            createdAt: Date;
            legalId: string | null;
            tenantId: string;
            contact: string | null;
            iban: string | null;
        } | null;
    } & {
        id: string;
        description: string | null;
        createdAt: Date;
        status: import(".prisma/client").$Enums.WorkStatus;
        complexId: string;
        startDate: Date | null;
        endDate: Date | null;
        title: string;
        budget: import("@prisma/client/runtime/library").Decimal;
        contractorId: string | null;
        amountSpent: import("@prisma/client/runtime/library").Decimal;
    }>;
    updateWork(user: AuthenticatedUser, id: string, dto: UpdateWorkDto): Promise<{
        id: string;
        description: string | null;
        createdAt: Date;
        status: import(".prisma/client").$Enums.WorkStatus;
        complexId: string;
        startDate: Date | null;
        endDate: Date | null;
        title: string;
        budget: import("@prisma/client/runtime/library").Decimal;
        contractorId: string | null;
        amountSpent: import("@prisma/client/runtime/library").Decimal;
    }>;
    deleteWork(user: AuthenticatedUser, id: string): Promise<{
        id: string;
        description: string | null;
        createdAt: Date;
        status: import(".prisma/client").$Enums.WorkStatus;
        complexId: string;
        startDate: Date | null;
        endDate: Date | null;
        title: string;
        budget: import("@prisma/client/runtime/library").Decimal;
        contractorId: string | null;
        amountSpent: import("@prisma/client/runtime/library").Decimal;
    }>;
}
