import { UploadedFileDto } from 'src/common/dto/uploaded-file.dto';
import { InsuredRelation, PolicyDisplayStatus, PolicyVerificationStatus, PremiumFrequency } from '../schema/policy.schema';
export declare enum IssuedPeriod {
    LAST_30_DAYS = "LAST_30_DAYS",
    LAST_90_DAYS = "LAST_90_DAYS",
    THIS_QUARTER = "THIS_QUARTER"
}
export declare class InsuredMemberDto {
    name: string;
    relation: InsuredRelation;
}
export declare class CreatePolicyDto {
    policy_number: string;
    customer_id: string;
    assigned_to: string;
    product_id: string;
    gross_premium: number;
    premium_frequency?: PremiumFrequency;
    issue_date: number;
    expiry_date: number;
    sum_insured?: number;
    sum_insured_note?: string;
    insured_members?: InsuredMemberDto[];
    vehicle_registration?: string;
    schedule_file?: UploadedFileDto;
}
declare const ConvertLeadToPolicyDto_base: import("@nestjs/common").Type<Omit<CreatePolicyDto, "assigned_to">>;
export declare class ConvertLeadToPolicyDto extends ConvertLeadToPolicyDto_base {
    assigned_to?: string;
}
declare const AgentSubmitPolicyDto_base: import("@nestjs/common").Type<Omit<CreatePolicyDto, "customer_id" | "assigned_to">>;
export declare class AgentSubmitPolicyDto extends AgentSubmitPolicyDto_base {
    lead_id?: string;
    customer_id?: string;
    customer_name?: string;
    phone_no?: string;
    country_code?: string;
    email?: string;
}
export declare class RejectPolicyVerificationDto {
    reason: string;
}
export declare class UpdatePolicyDto {
    gross_premium?: number;
    premium_frequency?: PremiumFrequency;
    issue_date?: number;
    expiry_date?: number;
    sum_insured?: number;
    sum_insured_note?: string;
    insured_members?: InsuredMemberDto[];
    vehicle_registration?: string;
    schedule_file?: UploadedFileDto;
}
export declare class CancelPolicyDto {
    reason: string;
}
export declare class PolicyListDto {
    page: number;
    limit: number;
    search?: string;
    category_id?: string;
    product_id?: string;
    insurer_id?: string;
    assigned_to?: string;
    customer_id?: string;
    status?: PolicyDisplayStatus;
    verification_status?: PolicyVerificationStatus;
    issued?: IssuedPeriod;
    expiring_in_days?: number;
}
export {};
