import { PolicyDisplayStatus, PolicyStatus } from './schema/policy.schema';
export declare function derivePolicyStatus(status: PolicyStatus, expiryDate: number, now?: number): PolicyDisplayStatus;
export declare function daysLeft(status: PolicyStatus, expiryDate: number, now?: number): number | null;
export declare function formatPolicy(p: any, showCommission: boolean): {
    commission?: {
        one_time_commission: any;
        first_year_commission: any;
        renewal_commission: any;
        commission_years: any;
        amount: any;
        status: any;
        paid_at: any;
    } | undefined;
    _id: any;
    policy_number: any;
    status: PolicyDisplayStatus;
    days_left: number | null;
    customer: {
        _id: any;
        name: any;
        phone_no: any;
        country_code: any;
    } | null;
    product: {
        _id: any;
        name: any;
    };
    category: {
        _id: any;
        name: any;
    } | null;
    insurer: {
        _id: any;
        name: any;
    } | null;
    assigned_to: {
        _id: any;
        name: any;
        user_type: any;
        agent_code: any;
    } | null;
    gross_premium: any;
    net_premium: any;
    gst_rate: any;
    gst_amount: any;
    premium_frequency: any;
    sum_insured: any;
    sum_insured_note: any;
    insured_members: any;
    vehicle_registration: any;
    issue_date: any;
    expiry_date: any;
    schedule_file: any;
    lead_id: any;
    cancel_reason: any;
    cancelled_at: any;
    claim_settled_amount: any;
    verification_status: any;
    verification_reject_reason: any;
    verified_at: any;
    created_at: any;
};
export declare const POLICY_POPULATE: {
    path: string;
    select: string;
}[];
