import type { BaseApiApp } from "@discloudapp/api-types/v2"; import type { UpdateAppOptions } from "../@types"; import type DiscloudApp from "../discloudApp/DiscloudApp"; import { type ProfileOptions } from "../util/validations"; import Base from "./Base"; /** * Base for app structures */ export default abstract class BaseApp extends Base { /** * Your app id */ readonly id: string; constructor(discloudApp: DiscloudApp, data: BaseApiApp); protected _patch(data: Partial): this; /** * Set the quantity of ram to your application * * @param quantity - Minimum values is `100` to `bot` or `512` for `site` */ setRam(quantity: number): Promise; /** * Get backups of your application on Discloud */ backup(): Promise; /** * Send a command to your app's terminal * * @param command - The command */ console(command: string): Promise; /** * Get logs of your application on Discloud */ terminal(): Promise; /** * Delete your application from Discloud. */ delete(): Promise; profile(options: ProfileOptions): Promise; /** * Restart your application on Discloud */ restart(): Promise; /** * Start your application on Discloud */ start(): Promise; /** * Stop your application on Discloud * * @param appID - You app id */ stop(): Promise; /** * Update an of your apps on Discloud. * * @param options - Options to update your app. */ update(options: UpdateAppOptions): Promise; /** */ toString(): string; }