import mongoose, { Document } from 'mongoose';
export interface IContractDocument extends Document {
    _id: any;
    projectId: any;
    contractType: string;
    contractNumber: string;
    partyA: string;
    partyB: string;
    customerCode?: string;
    customerGroup?: string;
    siteAddress?: string;
    capacityKWp?: number;
    startDate: Date;
    endDate: Date;
    value?: number;
    currency?: string;
    isFree?: boolean;
    paymentCycle?: '30_days' | '60_days' | 'custom';
    revenuePlan?: Array<{
        year: number;
        q1: number;
        q2: number;
        q3: number;
        q4: number;
    }>;
    debtAmount?: number;
    serviceTotal?: number;
    servicePerformed?: number;
    serviceFrequency?: string;
    status: 'draft' | 'active' | 'expired' | 'terminated' | 'negotiating' | 'suspended' | 'completed' | 'Expiring';
    notes?: string;
    documentUrl?: string;
    files?: Array<{
        filename: string;
        originalName: string;
        url: string;
        version: number;
        uploadedAt: Date;
    }>;
    createdAt: Date;
    updatedAt: Date;
}
export declare const Contract: mongoose.Model<IContractDocument, {}, {}, {}, mongoose.Document<unknown, {}, IContractDocument, {}, {}> & IContractDocument & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}, any>;
//# sourceMappingURL=Contract.d.ts.map