// Form-friendly views of the Wails-generated model classes.
//
// Wails generates each Go struct as a TS *class* with a hidden `convertValues`
// method used by the runtime for nested struct hydration. That method is
// irrelevant to our UI, but its presence means strict TS rejects any plain
// object literal we try to spread/assign back into the state setter.
//
// We strip it here so React component state stays usable with normal
// `{...prev, key: value}` patterns. Wails class instances remain assignable
// to these views since they have every required property.

import type { main, qso } from '../wailsjs/go/models';

export type LookupSettingsForm  = Omit<main.LookupSettings, 'convertValues'>;
export type StationSettingsForm = Omit<main.StationSettings, 'convertValues'>;
export type ListsSettingsForm   = Omit<main.ListsSettings, 'convertValues'>;
export type ModePresetForm      = Omit<main.ModePreset, 'convertValues'>;
export type QSOForm             = Omit<qso.QSO, 'convertValues'>;
export type WorkedBeforeView    = Omit<qso.WorkedBefore, 'convertValues'>;
