import { ModelsService } from 'src/models/models.service';
import { CommonService } from 'src/common/common.service';
import { TranslationService } from 'src/common/services/translation.service';
import { NotificationService } from 'src/notification/notification.service';
import { ProductService } from 'src/product/product.service';
import { CommissionService } from 'src/commission/commission.service';
import { AgentSubmitPolicyDto, CancelPolicyDto, ConvertLeadToPolicyDto, CreatePolicyDto, PolicyListDto, RejectPolicyVerificationDto, UpdatePolicyDto } from './dto/policy.dto';
export declare class PolicyService {
    private readonly models;
    private readonly common;
    private readonly translationService;
    private readonly productService;
    private readonly notificationService;
    private readonly commissionService;
    constructor(models: ModelsService, common: CommonService, translationService: TranslationService, productService: ProductService, notificationService: NotificationService, commissionService: CommissionService);
    private t;
    private fail;
    private selfScoped;
    private scope;
    private showCommission;
    private findPolicy;
    private detail;
    private assertDates;
    private resolveAssignee;
    private listFilter;
    private record;
    create(dto: CreatePolicyDto, actor: any, lang: string): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    convertLead(leadId: string, dto: ConvertLeadToPolicyDto, actor: any, lang: string): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    submitByAgent(dto: AgentSubmitPolicyDto, actor: any, lang: string): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    summaryForAgent(actor: any, lang: string): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    private findPendingVerification;
    private notifyVerification;
    approveVerification(id: string, actor: any, lang: string): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    rejectVerification(id: string, dto: RejectPolicyVerificationDto, actor: any, lang: string): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    list(query: PolicyListDto, actor: any, lang: string): Promise<{
        status: string;
        message: string;
        data: any[];
        pagination: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
            hasNextPage: boolean;
            hasPrevPage: boolean;
        };
    }>;
    getById(id: string, actor: any, lang: string): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    update(id: string, dto: UpdatePolicyDto, actor: any, lang: string): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    cancel(id: string, dto: CancelPolicyDto, actor: any, lang: string): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
}
