/**
 * src/billing/invoicing.ts
 * إدارة الفواتير الشهرية — Monthly invoice management
 *
 * كل شهر نولد فاتورة لكل مستأجر:
 * - سعر الخطة + أي رسوم إضافية (إذا مسموح بالتجاوز)
 * - تكلفة API الفعلية (داخلية — ما يشوفها العميل)
 * - الربح = السعر - التكلفة
 */
export interface Invoice {
    id: string;
    tenant_id: string;
    month: string;
    plan_name: string;
    plan_price_sar: number;
    api_cost_sar: number;
    overage_sar: number;
    total_sar: number;
    profit_sar: number;
    status: 'pending' | 'paid' | 'overdue';
    payment_ref: string | null;
    paid_at: string | null;
    created_at: string;
}
/**
 * توليد فاتورة شهرية لمستأجر
 * تجمع: سعر الخطة + أي رسوم تجاوز + تكلفة API الداخلية + الربح
 */
export declare function generateMonthlyInvoice(tenantId: string, month: string): Promise<Invoice>;
/**
 * جلب فاتورة واحدة بالمعرف
 */
export declare function getInvoice(invoiceId: string): Promise<Invoice | null>;
/**
 * قائمة فواتير مستأجر معين
 */
export declare function getTenantInvoices(tenantId: string, options?: {
    limit?: number;
    offset?: number;
}): Promise<{
    invoices: Invoice[];
    total: number;
}>;
/**
 * تحديث حالة الفاتورة إلى "مدفوعة"
 */
export declare function markInvoicePaid(invoiceId: string, paymentRef: string): Promise<Invoice>;
/**
 * تحديث الفواتير المتأخرة — تُنفذ دورياً (cron)
 * أي فاتورة pending من شهر سابق تصبح overdue
 */
export declare function markOverdueInvoices(): Promise<number>;
//# sourceMappingURL=invoicing.d.ts.map