/**
 * لا توجد صفحة تسجيل دخول في هذا المشروع، لذا لا يلزم التحقق من صحة المستخدم (Authentication).
 * يتم الاحتفاظ فقط بمغلف withResult لمعالجة العمليات.
 */

/**
 * مغلف الاستجابة القياسي
 * يقوم بمعالجة try-catch تلقائياً للعمليات في Server Actions.
 * 
 * @example
 * // مثال: تحديث حالة طلب التوصيل
 * export const updateOrderStatus = withResult(async (orderId: string, newStatus: delivery_order_status) => {
 *   const result = await prisma.delivery_order.update({
 *     where: { id: orderId },
 *     data: { status: newStatus }
 *   })
 *   return result
 * })
 *
 * @example
 * // ملاحظة: عند الإنشاء/التحديث، إذا كان هناك علاقة (FK) في Schema مع @relation،
 * // يجب استخدام نظام الربط `connect` بدلاً من التعيين المباشر للمعرف.
 * export const createStatusHistory = withResult(async (input: { orderId: string, status: delivery_order_status }) => {
 *   const history = await prisma.delivery_order_status_history.create({
 *     data: {
 *       deliveryOrder: { connect: { id: input.orderId } },
 *       toStatus: input.status,
 *       // changedBy: { connect: { id: userId } } // يتم تفعيله في حال وجود نظام مستخدمين
 *     }
 *   })
 *   return { id: history.id }
 * })
 */
export declare function withResult<TArgs extends any[], TData>(
  fn: (...args: TArgs) => Promise<TData>
): (...args: TArgs) => Promise<TData>