import Foundation
import React

/**
 * Native module for Blue Billywig Channel SDK
 *
 * Provides native functionality that can be called from JavaScript.
 */
@objc(BBChannelModule)
class BBChannelModule: NSObject {

    /**
     * Get SDK version
     */
    @objc
    func getVersion(_ resolve: @escaping RCTPromiseResolveBlock,
                    rejecter reject: @escaping RCTPromiseRejectBlock) {
        resolve("1.0.0")
    }

    /**
     * Check if the SDK is properly initialized
     */
    @objc
    func isInitialized(_ resolve: @escaping RCTPromiseResolveBlock,
                       rejecter reject: @escaping RCTPromiseRejectBlock) {
        resolve(true)
    }

    /**
     * Prefetch channel data for faster loading
     */
    @objc
    func prefetchChannel(_ channelUrl: String,
                         resolver resolve: @escaping RCTPromiseResolveBlock,
                         rejecter reject: @escaping RCTPromiseRejectBlock) {
        // Implementation would cache channel JSON
        resolve(true)
    }

    /**
     * Clear cached data
     */
    @objc
    func clearCache(_ resolve: @escaping RCTPromiseResolveBlock,
                    rejecter reject: @escaping RCTPromiseRejectBlock) {
        // Implementation would clear any cached data
        resolve(true)
    }
}
