// Generated by Create API
// https://github.com/CreateAPI/CreateAPI

import Foundation

public struct ModulationSchema: Codable {
    public var state: State
    public var errorMessage: String?
    public var modulation: [ModulationElem]?
    public var modulationRaw: [ModulationRawElem]?

    public struct State: RawRepresentable, Codable {
        public let rawValue: String

        public init(rawValue: String) {
            self.rawValue = rawValue
        }

        public static let running = Self(rawValue: "running")
        public static let error = Self(rawValue: "error")
        public static let complete = Self(rawValue: "complete")
    }

    public init(state: State, errorMessage: String? = nil, modulation: [ModulationElem]? = nil, modulationRaw: [ModulationRawElem]? = nil) {
        self.state = state
        self.errorMessage = errorMessage
        self.modulation = modulation
        self.modulationRaw = modulationRaw
    }
}
