/**
 * Configuration options for Device model instances.
 *
 * Defines device identity and node-specific parameters for KOS device modeling.
 * Device models represent the physical device identity and node configuration
 * within a KOS system deployment.
 *
 * @example Basic Device Configuration
 * ```typescript
 * const deviceOptions: DeviceOptions = {
 *   serialNumber: 'KOS-DEVICE-12345',
 *   name: 'Main Beverage Dispenser',
 *   nodeId: 'primary-node-01'
 * };
 *
 * const device = Device.factory(deviceOptions);
 * ```
 *
 * @group KOS Model
 * @category Service Integration
 */
export interface DeviceOptions {
  /**
   * Unique device serial number from hardware.
   *
   * Retrieved from the device's hardware identification system.
   * Used for warranty tracking, support, and device-specific configuration.
   */
  serialNumber?: string;

  /**
   * Human-readable device name for identification.
   *
   * Typically configured during device setup and used in administrative
   * interfaces for device identification and management.
   */
  name?: string;

  /**
   * Node identifier within the KOS deployment.
   *
   * Identifies the specific node role and instance within a multi-node
   * KOS deployment. Format typically follows 'type-instance' pattern.
   */
  nodeId?: string;
}
