import { CreateDocumentDto, FilterDocumentDto } from './dto/create-document.dto';
import { UpdateDocumentDto } from './dto/update-document.dto';
import { DbService } from 'src/db/db.service';
import { CommonService } from 'src/common/common.service';
import { Types } from 'mongoose';
import { DocumentExpiryDateDto, GetUploadedDocumentsDto, SubmitDocumentsDto } from './dto/submit-document.dto';
export declare class DocumentService {
    private readonly model;
    private readonly commonService;
    constructor(model: DbService, commonService: CommonService);
    create(dto: CreateDocumentDto): Promise<{
        message: string;
        data: import("mongoose").Document<unknown, {}, import("./entities/document.entity").DocumentRequirement, {}, {}> & import("./entities/document.entity").DocumentRequirement & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    getDocuments(filterDto: FilterDocumentDto): Promise<{
        message: string;
        count: number;
        data: (import("mongoose").FlattenMaps<{
            type: string;
            response_type: string;
            document_name: string;
            slug: string;
            is_required: boolean;
            is_expiry: boolean;
        }> & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        })[];
        restaurant_document_count: number;
        driver_document_count: number;
    }>;
    delete(id: string, req: any): Promise<{
        message: string;
    }>;
    update(id: string, dto: UpdateDocumentDto): Promise<{
        data: import("mongoose").Document<unknown, {}, import("./entities/document.entity").DocumentRequirement, {}, {}> & import("./entities/document.entity").DocumentRequirement & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    view(id: string): Promise<{
        data: import("mongoose").Document<unknown, {}, import("./entities/document.entity").DocumentRequirement, {}, {}> & import("./entities/document.entity").DocumentRequirement & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    submitDocuments(subDto: SubmitDocumentsDto): Promise<{
        message: string;
        data: import("mongoose").MergeType<import("mongoose").Document<unknown, {}, import("./entities/uploaded-documents.schema").UplodedDocument, {}, {}> & import("./entities/uploaded-documents.schema").UplodedDocument & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        }, Omit<any, "_id">>[];
    }>;
    getUploadedDocuments(query: GetUploadedDocumentsDto): Promise<{
        page: number;
        limit: number;
        total: number;
        data: any[];
    }>;
    addDocumentExpiryDate(dto: DocumentExpiryDateDto): Promise<{
        document: import("mongoose").Document<unknown, {}, import("./entities/uploaded-documents.schema").UplodedDocument, {}, {}> & import("./entities/uploaded-documents.schema").UplodedDocument & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
}
