import { Document } from 'mongoose';
import { BaseEntity } from '../../common/entities/base.entity';
import { SubFee } from './fee-structure.schema';
export type FeeAssignmentDocument = FeeAssignment & Document;
export declare class FeeAssignment extends BaseEntity {
    studentId: string;
    feeStructureId: string;
    academicYearId: string;
    classId: string;
    feeName: string;
    installment: string;
    amount: number;
    baseAmount: number;
    subFees: SubFee[];
    fineAmount: number;
    paidAmount: number;
    dueDate: Date;
    status: 'pending' | 'partial' | 'paid';
    discountType?: 'amount' | 'percentage';
    discountValue?: number;
    discountAmount: number;
    discountReason?: string;
    discountValidUntil?: Date;
    discountAppliedBy?: string;
    paidAt?: Date;
    paymentMethod?: string;
    receiptNumber?: string;
    razorpayOrderId?: string;
    razorpayPaymentId?: string;
    razorpaySignature?: string;
    razorpayOrderAmount?: number;
    collectedBy?: string;
    notes?: string;
    transactionId?: string;
}
export declare const FeeAssignmentSchema: import("mongoose").Schema<FeeAssignment, import("mongoose").Model<FeeAssignment, any, any, any, Document<unknown, any, FeeAssignment, any> & FeeAssignment & Required<{
    _id: string;
}>, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, FeeAssignment, Document<unknown, {}, import("mongoose").FlatRecord<FeeAssignment>, {}> & import("mongoose").FlatRecord<FeeAssignment> & Required<{
    _id: string;
}>>;
