/**
 * src/billing/plans.ts
 * خطط الاشتراك وحدود الاستخدام — Plan definitions & usage limits
 */
export interface PlanLimits {
    messages: number;
    agents: number;
    documents: number;
}
export interface Plan {
    id: string;
    name: string;
    name_ar: string;
    description: string;
    description_ar: string;
    limits: PlanLimits;
    price_sar: number;
    duration_days: number;
    features: string[];
    popular?: boolean;
}
export declare const PLANS: Record<string, Plan>;
/**
 * استرجاع تفاصيل خطة
 */
export declare function getPlan(planId: string): Plan | null;
/**
 * قائمة جميع الخطط المتاحة
 */
export declare function listPlans(): Plan[];
export interface UsageStats {
    messages_used: number;
    messages_limit: number;
    agents_used: number;
    agents_limit: number;
    documents_used: number;
    documents_limit: number;
}
export interface UsageCheckResult {
    allowed: boolean;
    current: number;
    limit: number;
    remaining: number;
    resource: string;
}
/**
 * التحقق من أن المستأجر ضمن حدود خطته
 * @returns true إذا لم يتجاوز الحد
 */
export declare function checkLimit(tenantId: string, resource: 'messages' | 'agents' | 'documents'): Promise<UsageCheckResult>;
/**
 * الحصول على الاستخدام مقابل الحدود — للوحة التحكم
 */
export declare function getUsageVsPlan(tenantId: string): Promise<{
    plan: Plan;
    usage: UsageStats;
    billing_period: {
        start: string;
        end: string;
    };
} | null>;
//# sourceMappingURL=plans.d.ts.map