#pragma once

#include <yandex/maps/wiki/filters/stored_filter.h>
#include <yandex/maps/wiki/filters/stored_expression.h>
#include <maps/libs/json/include/builder.h>

#include <iosfwd>

namespace maps {
namespace wiki {

void serializeFilter(
        const filters::StoredFilter& storedFilter,
        std::ostream& os);

void serializeFilter(
        const filters::StoredFilter& storedFilter,
        json::ObjectBuilder& filterBuilder);

void serializeExpression(
        const filters::StoredExpression& expr,
        std::ostream& os);

void serializeExpression(
        const filters::StoredExpression& expr,
        json::ObjectBuilder& expressionBuilder);
} // namespace wiki
} // namespace maps
