const std = @import("std");

pub const max_auth_token_size = 256;
pub const AuthToken = std.BoundedArray(u8, max_auth_token_size);

pub const images_url = "https://artifactsmmo.com";
pub const images_uri = std.Uri.parse(images_url) catch @compileError("Images server URL is invalid");

// Specification URL: https://api.artifactsmmo.com/docs
pub const api_url = "https://api.artifactsmmo.com";
pub const docs_url = api_url ++ "/openapi.json";

pub const parseDateTime = @import("./date_time/parse.zig").parseDateTime;

pub const Server = @import("server.zig");
pub const RateLimit = @import("./ratelimit.zig");
pub const Store = @import("store.zig");
pub const Item = @import("./schemas/item.zig");
pub const Status = @import("./schemas/status.zig");
pub const Position = @import("./schemas/position.zig");
pub const Map = @import("./schemas/map.zig");
pub const Character = @import("./schemas/character.zig");
pub const Equipment = @import("./schemas/equipment.zig");
pub const Craft = @import("./schemas/craft.zig");
pub const Resource = @import("./schemas/resource.zig");
pub const MoveResult = @import("./schemas/move_result.zig");
pub const SimpleItem = @import("./schemas/simple_item.zig");
pub const EquipResult = @import("./schemas/equip_result.zig");
pub const UnequipResult = EquipResult;
const SkillUsageResult = @import("./schemas/skill_usage_result.zig");
pub const GatherResult = SkillUsageResult;
pub const CraftResult = SkillUsageResult;
pub const Cooldown = @import("./schemas/cooldown.zig");

const errors = @import("errors.zig");
pub const FetchError = errors.FetchError;
pub const MoveError = errors.MoveError;
pub const FightError = errors.FightError;
pub const GatherError = errors.GatherError;
pub const BankDepositGoldError = errors.BankDepositGoldError;
pub const BankDepositItemError = errors.BankDepositItemError;
pub const BankWithdrawItemError = errors.BankWithdrawItemError;
pub const CraftError = errors.CraftError;
pub const AcceptTaskError = errors.AcceptTaskError;
pub const EquipError = errors.EquipError;
pub const UnequipError = errors.UnequipError;
