import { Types } from "../..";
import ClientInstance from "../../instance/ClientInstance";
import DatabaseManager from "../../managers/client/server/DatabaseManager";
import BackupManager from "../../managers/client/server/BackupManager";
import FileManager from "../../managers/client/server/FileManager";
import NetworkManager from "../../managers/client/server/NetworkManager";
import ScheduleManager from "../../managers/client/server/ScheduleManager";
import SubuserManager from "../../managers/client/server/SubuserManager";
import VariableManager from "../../managers/client/server/VariableManager";
export default class Server {
    private _client;
    server_owner: boolean;
    identifier: number;
    internal_id: number;
    uuid: string;
    name: string;
    node: number;
    sftp_details: {
        ip: string;
        port: number;
    };
    description: string;
    invocation: string;
    is_suspended: boolean;
    is_installing: boolean;
    is_transferring: boolean;
    limits: {
        memory: number;
        disk: number;
        swap: number;
        cpu: number;
        io: number;
        threads: number | null;
        oom_killer: boolean;
    };
    feature_limits: {
        databases: number;
        allocations: number;
        backups: number;
    };
    relationships: {
        [key: string]: any;
    };
    databases: DatabaseManager;
    files: FileManager;
    schedules: ScheduleManager;
    networks: NetworkManager;
    subusers: SubuserManager;
    backups: BackupManager;
    variables: VariableManager;
    raw: any;
    constructor(_client: ClientInstance, data: any);
    retrieveWebsocketCredentials(): Promise<Types.websocketCredentials>;
    retireveResourceUsage(): Promise<Types.resourceUsage>;
    retrieveStartupData(): Promise<Types.startupData>;
    sendCommand(command: string): Promise<unknown>;
    sendPowerSignal(signal: Types.powerSignal): Promise<unknown>;
    rename(name: string): Promise<unknown>;
    reinstall(): Promise<unknown>;
}
