import { CaisseService } from './caisse.service';
import { Request } from 'express';
import { ArreteCaisseDto } from './DTO/arreteCaisseDto';
export declare class CaisseController {
    private readonly caisseService;
    constructor(caisseService: CaisseService);
    create(request: Request): Promise<{
        status: string;
        message: string;
    }>;
    operationsCurrentCaisse(request: Request): Promise<{
        data: {
            id: number;
            montant: number;
            fastFoodId: number;
            userId: number;
            caisseId: number;
            modePaymentId: number;
            deleted: boolean;
            createdAt: Date;
            updatedAt: Date;
        }[];
        statut: string;
    }>;
    getCaissesByFastFood(request: Request, page?: number, size?: number): Promise<{
        data: {
            id: number;
            libelle: string;
            statut: import("@prisma/client").$Enums.StatutCaisse;
            montant: number;
            fastFoodId: number;
            userId: number;
            createdAt: Date;
            updatedAt: Date;
        }[];
    }>;
    getCurentCaisse(request: Request): Promise<{
        caisse: {
            id: number;
            libelle: string;
            statut: import("@prisma/client").$Enums.StatutCaisse;
            montant: number;
            fastFoodId: number;
            userId: number;
            createdAt: Date;
            updatedAt: Date;
        };
        status: string;
    }>;
    getOperationByCaisse(request: Request, id: number): Promise<{
        data: ({
            user: {
                prenom: string;
                nom: string;
            };
            modePayment: {
                id: number;
                code: import("@prisma/client").$Enums.CodePayment;
                libelle: string;
            };
        } & {
            id: number;
            montant: number;
            fastFoodId: number;
            userId: number;
            caisseId: number;
            modePaymentId: number;
            deleted: boolean;
            createdAt: Date;
            updatedAt: Date;
        })[];
        detailsMontant: {
            modePayment: {
                id: number;
                code: import("@prisma/client").$Enums.CodePayment;
                libelle: string;
            };
            modePaymentId: number;
            _count: {
                modePaymentId: number;
            };
            _sum: {
                montant: number;
            };
        }[];
        caisse: {
            id: number;
            libelle: string;
            statut: import("@prisma/client").$Enums.StatutCaisse;
            montant: number;
            fastFoodId: number;
            userId: number;
            createdAt: Date;
            updatedAt: Date;
        };
        statut: string;
    }>;
    cloture(request: Request, arreteCaisseDto: ArreteCaisseDto): Promise<{
        status: string;
        message: string;
    }>;
}
