/// <reference types="node" />
import { INode, INodeStats } from "../@Typings";
import { MoonlinkWebSocket } from "../@Services/MoonlinkWebSocket";
import { MoonlinkRestFul } from "../../index";
export declare class MoonlinkNode {
    private _manager;
    private reconnectTimeout?;
    private reconnectAttempts;
    private retryAmount;
    private retryDelay;
    private resumeStatus;
    host: string;
    identifier?: string;
    password: string;
    port?: number;
    secure: boolean;
    regions?: string[];
    http: string;
    rest: MoonlinkRestFul;
    info?: Record<string, any>;
    version?: string;
    resume?: boolean;
    resumed?: boolean;
    autoResume?: boolean;
    resumeTimeout?: number;
    sessionId: string;
    socket: MoonlinkWebSocket | null;
    state: string;
    stats: INodeStats | Record<string, any>;
    calls: number;
    constructor(node: INode);
    get address(): string;
    check(node: INode): void;
    request(endpoint: string, params: any): Promise<object>;
    connect(): Promise<any>;
    open(): void;
    private reconnect;
    protected close(code: number, reason: any): void;
    protected error(error: Error): void;
    protected message(data: Buffer | string): Promise<void>;
    protected handleEvent(payload: any): Promise<any>;
    private movePlayers;
    private get getAllPlayers();
}
