import APIClient
import Foundation

public struct ShareAssetGenerationItem: Identifiable {
    public enum Status: String {
        case inProgress = "rendering"
        case complete
        case couldNotComplete = "error"

        init(str: String) {
            if let s = Status(rawValue: str) {
                self = s
            } else {
                self = .couldNotComplete
            }
        }
    }

    public let id: String
    public let clip: Clip
    public var status: ShareAssetGenerationItem.Status
    public var assetURL: String?
    public let assetConfig: ShareAssetConfig
    public let startTime: TimeInterval
    public let endTime: TimeInterval
}
