#pragma once

#include <vector>
#include <unordered_map>

#include "core/project_model.hpp"
#include "core/render_plan.hpp"
#include "media/access_unit_index.hpp"

namespace smartcut::core {

RenderPlan plan_hevc_segment(const KeptSegment& segment, const std::vector<media::HevcAccessUnit>& access_units);
RenderPlan plan_project_segments(const Project& project, const std::unordered_map<std::string, std::vector<media::HevcAccessUnit>>& indexes);

}  // namespace smartcut::core
