/**
 * Telemetry Producer domain port.
 *
 * Abstracts Kafka event publishing for telemetry data.
 */

export const TELEMETRY_PRODUCER_SERVICE = Symbol('ITelemetryProducerService');

export interface ITelemetryProducerService {
  /** Publish session started event */
  publishSessionStarted(data: {
    userId?: string;
    installId: string;
    timestamp: number;
    properties?: Record<string, any>;
  }): Promise<void>;

  /** Publish heartbeat event */
  publishHeartbeat(userId: string, installId: string, appVersion: string): Promise<void>;
}
