import { Request, Response } from 'express';
import { bulkUpdateLeaveStatusDto, createLeaveDto, leaveFilterDto, updateLeaveDto } from './leaves.dto';
import { LeavesService } from './leaves.service';
export declare class LeavesController {
    private readonly service;
    constructor(service: LeavesService);
    create(data: createLeaveDto, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    getAllByFilter(query: leaveFilterDto, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    getMemberLeaveBalance(owner_id: string, dataScope: 'own' | 'all' | undefined, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    find(leaveId: string, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    findByMember(memberId: string, owner_id: string, query: leaveFilterDto, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    update(leaveId: string, owner_id: string, data: updateLeaveDto, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    bulkUpdateStatus(owner_id: string, data: bulkUpdateLeaveStatusDto, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    delete(leaveId: string, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
}
