#pragma once

#include <filesystem>
#include <optional>

namespace ta::adapters::windows::storage
{
    struct RuntimeStorageLayout
    {
        std::filesystem::path root;
        std::filesystem::path logs;
        std::filesystem::path locales;
    };

    // Builds and validates the runtime directory layout once during startup.
    // Accessors are side-effect free after initialization.
    [[nodiscard]] bool initialize() noexcept;
    void reset() noexcept;

    [[nodiscard]] std::optional<RuntimeStorageLayout> snapshot() noexcept;
}
