import { ConfigService } from "@nestjs/config";
import { TeamMemberRepository } from "../../team-member/repositories/team_member.repository";
import { CreateBulkDriverAvailabilityDto } from "../dto/create-driver-availability.dto";
import { UpdateDriverAvailabilityDto } from "../dto/update-driver-availability.dto";
import { DriverAvailabilityRepository } from "../repositories/driver-availability.repository";
import { DriverAvailabilityHistoryRepository } from "../repositories/driver_availability_history.repository";
import { Repository } from "typeorm";
import { DriverAvailabilityHistory } from "../entities/driver-availability-history.entity";
export declare class DriverAvailabilityService {
    private readonly driverAvailabilityRepository;
    private readonly driverAvailabilityHistoryRepository;
    private readonly teamMemberRepository;
    private readonly driverAvailabilityHistoryModelRepository;
    private readonly configService;
    constructor(driverAvailabilityRepository: DriverAvailabilityRepository, driverAvailabilityHistoryRepository: DriverAvailabilityHistoryRepository, teamMemberRepository: TeamMemberRepository, driverAvailabilityHistoryModelRepository: Repository<DriverAvailabilityHistory>, configService: ConfigService);
    bulkCreate(createDto: CreateBulkDriverAvailabilityDto): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    findAll({ driver_id, created_at, }: {
        driver_id?: number;
        created_at?: string;
    }): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    findOne(id: number): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    update(id: number, updateDto: UpdateDriverAvailabilityDto): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    remove(id: number): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    updateDutyStatus(driver_id: number, updateData: any): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    getDriverAvailabilityHistory(driver_id: number): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
}
