import { CreateRentalDto } from "./dto/create-rental.dto";
import { RentalQueryDto } from "./dto/rental-query.dto";
import { UpdateRentalDto } from "./dto/update-rental.dto";
import { RentalsService } from "./rentals.service";
export declare class RentalsController {
    private readonly rentalsService;
    constructor(rentalsService: RentalsService);
    findAll(companyId: string, query: RentalQueryDto): Promise<{
        items: any[];
        total: number;
        page: number;
        limit: number;
        totalPages: number;
    }>;
    getStats(companyId: string): Promise<{
        total: number;
        inProgress: number;
        quote: number;
        finished: number;
        reserved: number;
        canceled: number;
        totalRevenue: number;
    }>;
    findOne(companyId: string, id: string): Promise<any>;
    create(companyId: string, dto: CreateRentalDto): Promise<any>;
    update(companyId: string, id: string, dto: UpdateRentalDto): Promise<any>;
    rebuildFinancials(companyId: string, id: string): Promise<{
        message: string;
        receivables?: undefined;
    } | {
        message: string;
        receivables: {
            id: string;
            companyId: string;
            customerId: string;
            status: import(".prisma/client").$Enums.FinancialStatus;
            createdAt: Date;
            updatedAt: Date;
            rentalId: string | null;
            description: string;
            amount: import("@prisma/client/runtime/library").Decimal;
            dueDate: Date;
            paidAt: Date | null;
        }[];
    }>;
    rebuildAllFinancials(companyId: string): Promise<{
        message: string;
        results: any[];
    }>;
    remove(companyId: string, id: string): Promise<{
        id: string;
        companyId: string;
        customerId: string;
        code: string;
        startDate: Date;
        endDate: Date;
        subtotal: import("@prisma/client/runtime/library").Decimal;
        discount: import("@prisma/client/runtime/library").Decimal;
        freight: import("@prisma/client/runtime/library").Decimal;
        depositAmount: import("@prisma/client/runtime/library").Decimal;
        paymentMethod: string | null;
        installmentsCount: number | null;
        total: import("@prisma/client/runtime/library").Decimal;
        operator: string | null;
        notes: string | null;
        status: import(".prisma/client").$Enums.RentalStatus;
        createdAt: Date;
        updatedAt: Date;
    }>;
}
