#pragma once
#include "rust/cxx.h"
#include <memory>
namespace mbgl {
class TileServerOptions;
}
namespace mln::bridge::tile_server_options {
std::unique_ptr<mbgl::TileServerOptions> new_();
void withBaseUrl(mbgl::TileServerOptions &tile_server_options, rust::Slice<const uint8_t> path);
void withUriSchemeAlias(mbgl::TileServerOptions &tile_server_options, rust::Slice<const uint8_t> path);
void withSourceTemplate(mbgl::TileServerOptions &tile_server_options,
rust::Slice<const uint8_t> styleTemplate,
rust::Slice<const uint8_t> domainName,
rust::Slice<const uint8_t> versionPrefix
);
void withSpritesTemplate(mbgl::TileServerOptions &tile_server_options,
rust::Slice<const uint8_t> spritesTemplate,
rust::Slice<const uint8_t> domainName,
rust::Slice<const uint8_t> versionPrefix
);
void withGlyphsTemplate(mbgl::TileServerOptions &tile_server_options,
rust::Slice<const uint8_t> glyphsTemplate,
rust::Slice<const uint8_t> domainName,
rust::Slice<const uint8_t> versionPrefix
);
void withTileTemplate(mbgl::TileServerOptions &tile_server_options,
rust::Slice<const uint8_t> tileTemplate,
rust::Slice<const uint8_t> domainName,
rust::Slice<const uint8_t> versionPrefix
);
void withApiKeyParameterName(mbgl::TileServerOptions &tile_server_options,
rust::Slice<const uint8_t> apiKeyParameterName
);
void setRequiresApiKey(mbgl::TileServerOptions &tile_server_options, bool apiKeyRequired);
}