import * as Types from "../../utils/Types";
import ApplicationInstance from "../../instance/ApplicationInstance";
import DatabaseManager from "../../managers/application/DatabaseManager";
export default class Server {
    private _client;
    id: number;
    external_id: string;
    uuid: string;
    identifier: string;
    name: string;
    description: string;
    suspended: 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;
    };
    user: number;
    node: number;
    allocation: number;
    nest: number;
    egg: number;
    container: {
        [key: string]: any;
    };
    updated_at: string;
    created_at: string;
    relationships: {
        [key: string]: any;
    };
    raw: any;
    databases: DatabaseManager;
    constructor(_client: ApplicationInstance, data: any);
    updateDetails(params: Types.updateServerDetailsParams): Promise<Server>;
    updateBuild(params: Types.updateServerBuildParams): Promise<Server>;
    updateStartup(params: Types.updateServerStartupParams): Promise<Server>;
    suspend(): Promise<unknown>;
    unsuspend(): Promise<unknown>;
    reinstall(): Promise<unknown>;
    delete(force?: boolean): Promise<unknown>;
}
