#pragma once

#include <filesystem>
#include <optional>
#include <vector>

#include "core/audio_backend.h"
#include "core/diagnostic_log.h"

namespace aptt {

struct NullDiagnosticSessionResult {
  OperationResult result;
  PlaybackConfig config;
  FormatProbeResult format_probe;
  RealtimeStats stats;
  std::vector<DiagnosticEvent> events;
  std::optional<std::filesystem::path> bundle_directory;
};

NullDiagnosticSessionResult RunNullDiagnosticSession(
    PlaybackConfig config,
    std::optional<std::filesystem::path> bundle_directory = std::nullopt);

}  // namespace aptt
