export interface EnhancedQuotaValidationRequest {
    licenseKey: string;
    requestedResources: number;
    usageData?: {
        totalTokens: number;
        totalResourcesAnalyzed: number;
        totalCost: number;
        usageCount: number;
        successfulUsageCount: number;
        failedUsageCount: number;
        averageResourcesPerAnalysis?: number;
        cacheHitRate?: number;
        averageProcessingTime?: number;
        usageByFeature: Record<string, number>;
        usageByType: Record<string, number>;
        firstUsageAt?: number;
        lastUsageAt?: number;
    };
    licenseInfo?: any;
}
export interface EnhancedQuotaValidationResult {
    canProceed: boolean;
    canRunStaticAnalysis: boolean;
    canRunAIAnalysis: boolean;
    quota: {
        currentResourcesAnalyzed: number;
        maxResources: number;
        remainingResources: number;
        isTrial: boolean;
        trialExpired: boolean;
        wouldExceed: boolean;
        warningThreshold: number;
        hardStopThreshold: number;
        currentTokens: number;
        maxTokens: number;
        remainingTokens: number;
    };
    reason?: string;
    upgradePath?: string;
    usageData?: {
        totalTokens: number;
        totalResourcesAnalyzed: number;
        totalCost: number;
        usageCount: number;
        successfulUsageCount: number;
        failedUsageCount: number;
        averageResourcesPerAnalysis?: number;
        cacheHitRate?: number;
        averageProcessingTime?: number;
        usageByFeature: Record<string, number>;
        usageByType: Record<string, number>;
        firstUsageAt?: number;
        lastUsageAt?: number;
    };
}
export declare const validateEnhancedLicenseQuota: (request: EnhancedQuotaValidationRequest) => Promise<EnhancedQuotaValidationResult>;
