#import <Foundation/Foundation.h>
#if __has_include(<TencentQianWebView/TQSignResult.h>)
#import <TencentQianWebView/TQSignResult.h>
#else
#import "TQSignResult.h"
#endif

NS_ASSUME_NONNULL_BEGIN

/// `qianapp://` 协议解析器。
///
/// **解析约定**:
/// - 重复 key 取**首个**(后续覆盖丢弃)
/// - 空 value(`?action=`)保留为空字符串而非 `nil`
/// - 未知 action / result 值**原样透出**,不映射到 UNKNOWN
/// - 非法 URL / scheme 不匹配 → 返回 ``TQSignResult/empty``
/// - `errorCode` / `errorMsg` 等历史字段 → 落入 ``extras``(向前兼容)
///
/// **不依赖 NSURLComponents 的全部行为**:
/// `NSURLComponents.queryItems` 在某些 iOS 版本对 `?key=` 的空 value 行为不一致,
/// 此处用手写 query parser,与 Android / Swift 端逐字节对齐。
@interface TQSignResultParser : NSObject

/// 判断 URL 是否为本 SDK 关心的 `qianapp://` scheme(仅看前缀,不严格校验合法性)。
+ (BOOL)isQianAppScheme:(nullable NSString *)urlString;

/// 解析 `qianapp://...` URL。失败返回 ``TQSignResult/empty``。
+ (TQSignResult *)parse:(nullable NSString *)urlString;

@end

NS_ASSUME_NONNULL_END
