// Path: api/src/main/java/hirez/api/object/interfaces/Queue.java
// public interface Queue extends IDObject<Integer> {
//     String getName();
// 
//     boolean isRanked();
// }
// 
// Path: realm/src/main/java/hirez/realm/object/PlayerQuery.java
// @Data
// public class PlayerQuery implements ReturnedMessage {
//     private final long id;
//     private final String name;
//     private final int portalId;
//     @JsonProperty("ret_msg")
//     private final String returnedMessage;
//     private final long steamId;
// }


import hirez.api.*;
import hirez.api.object.*;
import hirez.api.object.interfaces.Queue;
import hirez.realm.object.PlayerQuery;
import hirez.realm.object.*;
import io.reactivex.rxjava3.core.Flowable;
import io.reactivex.rxjava3.core.Single;
import lombok.extern.slf4j.Slf4j;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.ZoneOffset;
import java.util.Arrays;
import java.util.Date;
import java.util.TimeZone;
import java.util.function.Consumer;
            if (cfg.getBaseEndpoint() == null) {
                cfg.setBaseEndpoint(DEFAULT_BASE);
            }
        }).build());
    }

    /**
     * @deprecated This endpoint is not exist. Will be removed in the next release.
     */
    @Deprecated
    public Flowable<Talent> getTalents(Language language) {
        return Flowable.error(new HiRezException("This endpoint has been removed!"));
    }

    /**
     * @deprecated This endpoint is not exist. Will be removed in the next release.
     */
    @Deprecated
    public Flowable<Talent> getTalents() {
        return getTalents(getConfiguration().getLanguage());
    }

    public Single<Leaderboard> getLeaderboard(Queue queue, Criteria criteria) {
        return testAndCall(Leaderboard.class, "getleaderboard", queue.getId().toString(), criteria.id.toString());
    }

    public Single<MatchDetails> getMatchDetails(long matchId) {
        return testAndCall(MatchDetails.class, "getmatchdetails", Long.toString(matchId));
    }

// Path: api/src/main/java/hirez/api/object/interfaces/Queue.java
// public interface Queue extends IDObject<Integer> {
//     String getName();
// 
//     boolean isRanked();
// }
// 
// Path: realm/src/main/java/hirez/realm/object/PlayerQuery.java
// @Data
// public class PlayerQuery implements ReturnedMessage {
//     private final long id;
//     private final String name;
//     private final int portalId;
//     @JsonProperty("ret_msg")
//     private final String returnedMessage;
//     private final long steamId;
// }


// Path: realm/src/main/java/hirez/realm/RealmRoyale.java
import hirez.api.*;
import hirez.api.object.*;
import hirez.api.object.interfaces.Queue;
import hirez.realm.object.PlayerQuery;
import hirez.realm.object.*;
import io.reactivex.rxjava3.core.Flowable;
import io.reactivex.rxjava3.core.Single;
import lombok.extern.slf4j.Slf4j;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.ZoneOffset;
import java.util.Arrays;
import java.util.Date;
import java.util.TimeZone;
import java.util.function.Consumer;

            if (cfg.getBaseEndpoint() == null) {
                cfg.setBaseEndpoint(DEFAULT_BASE);
            }
        }).build());
    }

    /**
     * @deprecated This endpoint is not exist. Will be removed in the next release.
     */
    @Deprecated
    public Flowable<Talent> getTalents(Language language) {
        return Flowable.error(new HiRezException("This endpoint has been removed!"));
    }

    /**
     * @deprecated This endpoint is not exist. Will be removed in the next release.
     */
    @Deprecated
    public Flowable<Talent> getTalents() {
        return getTalents(getConfiguration().getLanguage());
    }

    public Single<Leaderboard> getLeaderboard(Queue queue, Criteria criteria) {
        return testAndCall(Leaderboard.class, "getleaderboard", queue.getId().toString(), criteria.id.toString());
    }

    public Single<MatchDetails> getMatchDetails(long matchId) {
        return testAndCall(MatchDetails.class, "getmatchdetails", Long.toString(matchId));
    }

    public Flowable<MatchId> getMatchIdsByQueue(Queue queue, Date timestamp) {