//
// Generated by SwagGen
// https://github.com/yonaskolb/SwagGen
//

import Foundation
import JSONUtilities

public class Disambiguation: JSONDecodable, JSONEncodable, PrettyPrintable {

    public var disambiguationOptions: [DisambiguationOption]?

    public init(disambiguationOptions: [DisambiguationOption]? = nil) {
        self.disambiguationOptions = disambiguationOptions
    }

    public required init(jsonDictionary: JSONDictionary) throws {
        disambiguationOptions = jsonDictionary.json(atKeyPath: "disambiguationOptions")
    }

    public func encode() -> JSONDictionary {
        var dictionary: JSONDictionary = [:]
        if let disambiguationOptions = disambiguationOptions?.encode() {
            dictionary["disambiguationOptions"] = disambiguationOptions
        }
        return dictionary
    }

    /// pretty prints all properties including nested models
    public var prettyPrinted: String {
        return "\(type(of: self)):\n\(encode().recursivePrint(indentIndex: 1))"
    }
}
