import Foundation

typealias WorkspaceID = UUID

struct WorkspaceSummary: Identifiable, Equatable, Codable {
    var id: WorkspaceID
    var name: String
    var createdAt: Date
    var hotkey: HotkeyBinding?

    init(id: WorkspaceID = UUID(), name: String, createdAt: Date = Date(), hotkey: HotkeyBinding? = nil) {
        self.id = id
        self.name = name
        self.createdAt = createdAt
        self.hotkey = hotkey
    }
}

struct WorkspaceTabState: Identifiable, Equatable {
    var id: UUID
    var title: String
}

struct WorkspaceState: Equatable {
    var id: WorkspaceID
    var name: String
    var tabs: [WorkspaceTabState]
    var activeTabID: UUID?
}
