#import <Foundation/Foundation.h>
#import "TQPrewarmLevel.h"

NS_ASSUME_NONNULL_BEGIN

/// 单调去重状态（design.md Decision 4），线程安全。
///
/// - Minimal：全局只做一次。
/// - Light / Heavy：每 bizType 记录已达最高档；低于等于已达档则不再执行。
/// - 不允许降级重热；仅 manifest version 变化时 reset 整体重置。
@interface TQPrewarmDedup : NSObject

- (BOOL)shouldRun:(TQPrewarmLevel)level bizType:(NSString *)bizType;
- (void)markDone:(TQPrewarmLevel)level bizType:(NSString *)bizType;
- (void)reset;

@end

NS_ASSUME_NONNULL_END
