// ---------------  LogStream ---------------

/**
 * Configuration options for LogStream model instances.
 * 
 * These options specify the log stream identity and source location for connecting
 * to specific log streams on KOS devices.
 *
 * @example Basic Log Stream Configuration
 * ```typescript
 * const options: LogStreamOptions = {
 *   name: 'application-logs',
 *   nodeId: 'primary'
 * };
 * 
 * const logStream = LogStream.instance('app-logger')
 *   .options(options)
 *   .build();
 * ```
 *
 * @example Multiple Stream Types
 * ```typescript
 * // System logs from primary node
 * const systemLogs = LogStream.instance('system')
 *   .options({ name: 'system-logs', nodeId: 'primary' })
 *   .build();
 *
 * // Error logs from secondary node
 * const errorLogs = LogStream.instance('errors') 
 *   .options({ name: 'error-logs', nodeId: 'secondary' })
 *   .build();
 *
 * // Debug logs from development node
 * const debugLogs = LogStream.instance('debug')
 *   .options({ name: 'debug-logs', nodeId: 'dev-node' })
 *   .build();
 * ```
 *
 * @group KOS Model
 * @category Device Logging
 */
export interface LogStreamOptions {
  /**
   * Name of the log stream to connect to.
   * 
   * This should match the log stream name available on the target device.
   * Common stream names include 'application-logs', 'system-logs', 'error-logs'.
   */
  name: string;
  
  /**
   * Node identifier where the log stream is located.
   * 
   * Specifies which KOS device node contains the target log stream.
   * Typically 'primary' for main device logs, but can be any valid node ID.
   * 
   * @default 'primary'
   */
  nodeId: string;
}

// ---------------  LogStreamContainer ---------------

/**
 * Configuration options for LogStreamContainer model instances.
 * 
 * Currently an empty interface but reserved for future container-level
 * configuration options such as stream filtering, automatic discovery settings,
 * or performance tuning parameters.
 *
 * @example Basic Container Configuration
 * ```typescript
 * const options: LogStreamContainerOptions = {
 *   // Future options will be added here
 * };
 * 
 * const container = LogStreamContainer.instance('log-manager')
 *   .options(options)
 *   .build();
 * ```
 *
 * @category Model Configuration
 * @category Data Persistence  
 */
// eslint-disable-next-line @typescript-eslint/no-empty-interface
export interface LogStreamContainerOptions {}
