import Foundation

/// A single entry from the curated "100 most common reflexive verbs" list
/// (Gitea issue #28). Sourced from spanishwithdaniel.com.
///
/// `baseInfinitive` is the stem without the reflexive "-se" suffix, used to
/// match this entry to the app's Verb records (which store bare infinitives).
/// `usageHint` captures trailing prepositions or set-phrase completions — e.g.,
/// "a" for `acercarse a`, "de acuerdo" for `ponerse de acuerdo`. Nil when the
/// reflexive form has no commonly paired preposition.
public struct ReflexiveVerb: Codable, Hashable, Sendable {
    public let infinitive: String
    public let baseInfinitive: String
    public let english: String
    public let usageHint: String?

    public init(infinitive: String, baseInfinitive: String, english: String, usageHint: String? = nil) {
        self.infinitive = infinitive
        self.baseInfinitive = baseInfinitive
        self.english = english
        self.usageHint = usageHint
    }
}
