import { FundCallsService } from '../services/fund-calls.service';
import { CreateFundCallDto } from '../dto/create-fund-call.dto';
import { AuthenticatedUser } from '../../../common/decorators/current-user.decorator';
export declare class FundCallsController {
    private readonly fundCalls;
    constructor(fundCalls: FundCallsService);
    create(dto: CreateFundCallDto): Promise<{
        itemsCount: number;
        id: string;
        label: string;
        createdAt: Date;
        updatedAt: Date;
        status: import(".prisma/client").$Enums.FundCallStatus;
        complexId: string;
        totalAmount: import("@prisma/client/runtime/library").Decimal;
        fiscalYearId: string;
        period: string;
        dueDate: Date;
        issuedAt: Date | null;
    }>;
    list(complexId: string): import(".prisma/client").Prisma.PrismaPromise<({
        _count: {
            items: number;
        };
    } & {
        id: string;
        label: string;
        createdAt: Date;
        updatedAt: Date;
        status: import(".prisma/client").$Enums.FundCallStatus;
        complexId: string;
        totalAmount: import("@prisma/client/runtime/library").Decimal;
        fiscalYearId: string;
        period: string;
        dueDate: Date;
        issuedAt: Date | null;
    })[]>;
    findOne(id: string): Promise<{
        items: ({
            lot: {
                id: string;
                createdAt: Date;
                updatedAt: Date;
                complexId: string;
                spatialUnitId: string;
                lotNumber: string;
                type: import(".prisma/client").$Enums.LotType;
                surfaceM2: import("@prisma/client/runtime/library").Decimal | null;
                tantiemesGeneral: number;
            };
            payments: {
                id: string;
                currency: string;
                createdAt: Date;
                status: import(".prisma/client").$Enums.PaymentStatus;
                method: import(".prisma/client").$Enums.PaymentMethod;
                amount: import("@prisma/client/runtime/library").Decimal;
                paidAt: Date | null;
                fundCallItemId: string;
                reference: string | null;
                providerPayload: import("@prisma/client/runtime/library").JsonValue | null;
                receiptPdfUrl: string | null;
            }[];
        } & {
            id: string;
            createdAt: Date;
            updatedAt: Date;
            status: import(".prisma/client").$Enums.FundCallItemStatus;
            lotId: string;
            repartitionKeyId: string | null;
            amount: import("@prisma/client/runtime/library").Decimal;
            fundCallId: string;
            paidAmount: import("@prisma/client/runtime/library").Decimal;
            penaltyAmount: import("@prisma/client/runtime/library").Decimal;
        })[];
    } & {
        id: string;
        label: string;
        createdAt: Date;
        updatedAt: Date;
        status: import(".prisma/client").$Enums.FundCallStatus;
        complexId: string;
        totalAmount: import("@prisma/client/runtime/library").Decimal;
        fiscalYearId: string;
        period: string;
        dueDate: Date;
        issuedAt: Date | null;
    }>;
    myBalance(user: AuthenticatedUser): Promise<{
        total: number;
        paid: number;
        balance: number;
        items: ({
            lot: {
                id: string;
                createdAt: Date;
                updatedAt: Date;
                complexId: string;
                spatialUnitId: string;
                lotNumber: string;
                type: import(".prisma/client").$Enums.LotType;
                surfaceM2: import("@prisma/client/runtime/library").Decimal | null;
                tantiemesGeneral: number;
            };
            fundCall: {
                id: string;
                label: string;
                createdAt: Date;
                updatedAt: Date;
                status: import(".prisma/client").$Enums.FundCallStatus;
                complexId: string;
                totalAmount: import("@prisma/client/runtime/library").Decimal;
                fiscalYearId: string;
                period: string;
                dueDate: Date;
                issuedAt: Date | null;
            };
            payments: {
                id: string;
                currency: string;
                createdAt: Date;
                status: import(".prisma/client").$Enums.PaymentStatus;
                method: import(".prisma/client").$Enums.PaymentMethod;
                amount: import("@prisma/client/runtime/library").Decimal;
                paidAt: Date | null;
                fundCallItemId: string;
                reference: string | null;
                providerPayload: import("@prisma/client/runtime/library").JsonValue | null;
                receiptPdfUrl: string | null;
            }[];
        } & {
            id: string;
            createdAt: Date;
            updatedAt: Date;
            status: import(".prisma/client").$Enums.FundCallItemStatus;
            lotId: string;
            repartitionKeyId: string | null;
            amount: import("@prisma/client/runtime/library").Decimal;
            fundCallId: string;
            paidAmount: import("@prisma/client/runtime/library").Decimal;
            penaltyAmount: import("@prisma/client/runtime/library").Decimal;
        })[];
    }>;
}
