import type { Player, ServerInfo, ServerOptions, WatchHandle, MultiServerConfig } from "./types.js";
export { FiveMError } from "./errors.js";
export { searchServers, getAllServers, getServerByEndpoint, getServersByLocale, getIconUrl, isPrivateServer, } from "./search.js";
export type { SearchFilter, SearchPlayer, SearchServerData, SearchResult, } from "./search.js";
export type { Player, ServerInfo, DynamicInfo, ServerOptions, WatchHandle, MultiServerConfig } from "./types.js";
export default class Server {
    #private;
    constructor(cfxre: string, options?: ServerOptions);
    ready(): Promise<void>;
    clearCache(): void;
    get playerCount(): number;
    getServerStatus(): Promise<boolean>;
    getServer(): Promise<ServerInfo>;
    getServerName(): Promise<string>;
    getServerDesc(): Promise<string>;
    getPlayers(): Promise<number>;
    getPlayersAll(): Promise<Player[]>;
    getPlayer(query: string | number): Promise<Player | null>;
    getMaxPlayers(): Promise<number>;
    getResources(): Promise<string[]>;
    getTags(): Promise<string>;
    getOnesync(): Promise<boolean>;
    getLocale(): Promise<string>;
    getGamename(): Promise<string>;
    getSteamTicket(): Promise<boolean>;
    getGameBuild(): Promise<number>;
    getEnhancedHostSupport(): Promise<boolean>;
    getLicenseKeyToken(): Promise<string>;
    getScriptHookAllowed(): Promise<boolean>;
    getEndpoint(): Promise<string | null>;
    getIcon(): Promise<string>;
    getUpvotePower(): Promise<number>;
    getBurstPower(): Promise<number>;
    getClients(): Promise<number>;
    getHostname(): Promise<string>;
    getGametype(): Promise<string>;
    getMapname(): Promise<string>;
    getSvMaxclients(): Promise<number>;
    getOwnerName(): Promise<string>;
    getOwnerProfile(): Promise<string>;
    getOwnerAvatar(): Promise<string>;
    getIp(): string;
    watch(intervalMs: number, callback: (server: Server) => void | Promise<void>): WatchHandle;
    static multi(configs: MultiServerConfig[]): Promise<{
        servers: Server[];
        getAllStatus(): Promise<Map<string, boolean>>;
        getAllPlayers(): Promise<Map<string, number>>;
        getOnlineServers(): Promise<Server[]>;
    }>;
}
