import { AdminService } from './admin.service';
import { Request, Response } from 'express';
import { AdminLoginDto } from './dto/login.dto';
import { CreateShipmentDto } from './dto/create-shipment.dto';
import { SHIPMENT_TYPE } from 'src/utils/constants';
import { AddStatusDto } from './dto/add-status.dto';
import { UpdateShipmentDto } from './dto/update-shipment.dto';
import { VerifyAdminOtpDto } from './dto/verify-otp.dto';
import { ChangePasswordDto } from 'src/users/dto/change-password.dto';
import { ReplyInquiryDto } from 'src/users/dto/reply-inquiry.dto';
import { CreateShipmentModeDto } from './dto/create-shipment-mode.dto';
import { DeleteUserDto } from './dto/delete-user.dto';
import { CreateUserDto } from './dto/create-user.dto';
import { UpdateSingleUserDto } from './dto/update-single-user.dto';
import { AddMultiStatusDto } from './dto/add-multi-status.dto';
import { UserRegisterDto } from './dto/user.register.dto';
import { CreateEstimateDto, CreateQuotationDto } from './dto/quotation.dto';
export declare class AdminController {
    private readonly adminService;
    constructor(adminService: AdminService);
    adminLogin(lang: string, body: AdminLoginDto, res: Response): Promise<Response<any, Record<string, any>>>;
    dashboard(report: string, res: Response): Promise<Response<any, Record<string, any>>>;
    forgotPassword(lang: string, res: Response): Promise<Response<any, Record<string, any>>>;
    verifyOtp(lang: string, body: VerifyAdminOtpDto, res: Response): Promise<Response<any, Record<string, any>>>;
    verifyShipment(shipmentId: string, lang: string, code: string, res: Response): Promise<Response<any, Record<string, any>>>;
    changePassword(req: Request, lang: string, body: ChangePasswordDto, res: Response): Promise<Response<any, Record<string, any>>>;
    getAllShipments(lang: string, modeId: string, userId: string, page: number, limit: number, search: string, status: string, shipment_type: SHIPMENT_TYPE, res: Response): Promise<Response<any, Record<string, any>>>;
    getTotalCount(): Promise<any>;
    createShipment(req: Request, lang: string, notify: boolean, body: CreateShipmentDto, files: Express.Multer.File[], res: Response): Promise<Response<any, Record<string, any>>>;
    updateShipment(req: Request, shipment_id: string, notify: boolean, lang: string, body: UpdateShipmentDto, files: Express.Multer.File[], res: Response): Promise<Response<any, Record<string, any>>>;
    getAllUsers(page: number, limit: number, search: string, res: Response): Promise<Response<any, Record<string, any>>>;
    getAllShipmentModes(page: number, limit: number, search: string, res: Response): Promise<Response<any, Record<string, any>>>;
    translateKeyword(lang: string, translate_to: string, keyword: string, res: Response): Promise<Response<any, Record<string, any>>>;
    changeUserStatus(lang: string, user_id: string, res: Response): Promise<Response<any, Record<string, any>>>;
    deleteShipment(lang: string, shipment_id: string, res: Response): Promise<Response<any, Record<string, any>>>;
    deleteShipmentMode(lang: string, shipment_mode_id: string, res: Response): Promise<Response<any, Record<string, any>>>;
    getSingleShipment(lang: string, shipment_id: string, res: Response): Promise<Response<any, Record<string, any>>>;
    uploadShipmentDocument(req: Request, lang: string, shipment_id: string, notify: boolean, files: {
        shipment_document?: Express.Multer.File[];
    }, res: Response): Promise<Response<any, Record<string, any>>>;
    uploadReceivingSlip(req: Request, lang: string, shipment_id: string, notify: boolean, files: {
        receiving_slip?: Express.Multer.File[];
    }, res: Response): Promise<Response<any, Record<string, any>>>;
    uploadShipmentInvoice(req: Request, lang: string, shipment_id: string, notify: boolean, files: {
        shipment_invoice?: Express.Multer.File[];
    }, res: Response): Promise<Response<any, Record<string, any>>>;
    addShipmentStatus(lang: string, shipment_id: string, notify: boolean, body: AddStatusDto, res: Response): Promise<Response<any, Record<string, any>>>;
    addMultipleShipmentsStatus(lang: string, notify: boolean, body: AddMultiStatusDto, res: Response): Promise<Response<any, Record<string, any>>>;
    updateShipmentStatus(lang: string, status_id: string, body: AddStatusDto, res: Response): Promise<Response<any, Record<string, any>>>;
    deleteShipmentDocument(lang: string, doc_id: string, res: Response): Promise<Response<any, Record<string, any>>>;
    deleteReceivingSlip(lang: string, doc_id: string, res: Response): Promise<Response<any, Record<string, any>>>;
    getAllInquiry(lang: string, status: string, page: number, limit: number, search: string, res: Response): Promise<Response<any, Record<string, any>>>;
    getSingleInquiry(lang: string, inquiry_id: string, res: Response): Promise<Response<any, Record<string, any>>>;
    resolveQuery(lang: string, inquiry_id: string, res: Response): Promise<Response<any, Record<string, any>>>;
    deleteQuery(lang: string, inquiry_id: string, res: Response): Promise<Response<any, Record<string, any>>>;
    getUsersOptions(lang: string, type: string, res: Response): Promise<Response<any, Record<string, any>>>;
    getSingleUser(user_id: string, res: Response): Promise<Response<any, Record<string, any>>>;
    replyInquiry(inquiry_id: string, notify: boolean, lang: string, body: ReplyInquiryDto, res: Response): Promise<Response<any, Record<string, any>>>;
    addQuotationDocument(req: Request, inquiry_id: string, notify: boolean, lang: string, file: Express.Multer.File, res: Response): Promise<Response<any, Record<string, any>>>;
    completeShipment(shipment_id: string, lang: string, res: Response): Promise<Response<any, Record<string, any>>>;
    completeMultipleShipments(shipment_ids: string[], lang: string, res: Response): Promise<Response<any, Record<string, any>>>;
    createShipmentMode(lang: string, body: CreateShipmentModeDto, res: Response): Promise<Response<any, Record<string, any>>>;
    deleteUser(body: DeleteUserDto, lang: string, res: Response): Promise<Response<any, Record<string, any>>>;
    sendShipmentNotifications(shipment_id: string, lang: string, type: string, res: Response): Promise<Response<any, Record<string, any>>>;
    sendInquiryNotifications(inquiry_id: string, lang: string, type: string, res: Response): Promise<Response<any, Record<string, any>>>;
    createUser(body: CreateUserDto, lang: string, res: Response): Promise<Response<any, Record<string, any>>>;
    getUserDetails(user_id: string, res: Response): Promise<Response<any, Record<string, any>>>;
    hardDeleteUser(user_id: string, res: Response): Promise<Response<any, Record<string, any>>>;
    updateSingleUser(user_id: string, body: UpdateSingleUserDto, res: Response): Promise<Response<any, Record<string, any>>>;
    getDummyUsers(page: number, limit: number, res: Response): Promise<Response<any, Record<string, any>>>;
    assignAdmin(user_id: string, lang: string, res: Response): Promise<Response<any, Record<string, any>>>;
    getProfile(req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    undoCompleteShipment(shipment_id: string, res: Response): Promise<Response<any, Record<string, any>>>;
    deleteDevices(single_device_id: string, res: Response): Promise<Response<any, Record<string, any>>>;
    searchModules(page: number, limit: number, search: string, res: Response): Promise<Response<any, Record<string, any>>>;
    getSingleUserData(user_id: string, res: Response): Promise<Response<any, Record<string, any>>>;
    sendNotificationToAllUsers(lang: string, res: Response): Promise<Response<any, Record<string, any>>>;
    Register(lang: string, body: UserRegisterDto, res: Response): Promise<Response<any, Record<string, any>>>;
    getUserShipmentCounts(userId: string, res: Response): Promise<Response<any, Record<string, any>>>;
    createQuotation(lang: string, res: Response, createQuotationDto: CreateQuotationDto): Promise<Response<any, Record<string, any>>>;
    updateQuotation(lang: string, createQuotationDto: CreateQuotationDto, res: Response, id: string): Promise<Response<any, Record<string, any>>>;
    deleteQuotation(lang: string, res: Response, id: string): Promise<Response<any, Record<string, any>>>;
    getAllQuotation(lang: string, res: Response, page: string, limit: string, search: string, status: string): Promise<Response<any, Record<string, any>>>;
    getQuotation(lang: string, res: Response, id: string): Promise<Response<any, Record<string, any>>>;
    createEstimate(lang: string, res: Response, CreateEstimateDto: CreateEstimateDto): Promise<Response<any, Record<string, any>>>;
    updateEstimate(lang: string, CreateEstimateDto: CreateEstimateDto, res: Response, id: string): Promise<Response<any, Record<string, any>>>;
}
