import * as API from "../../common/api"; import { CollectionDoc, Events, QueryParams, Resource, ResourceId, Scope, SingleDoc, State, Task } from "../../common/structures"; export declare function document(): typeof CollectionRequest; export declare function document(id: ResourceId): SingleRequest; export interface Collection extends CollectionDoc { data: Environment[]; } export interface Single extends SingleDoc { data: Environment | null; } export interface Environment extends Resource { name: string; about: { description: string; }; owner: Scope; state: State; events: Events; creator: ResourceId; meta?: { counts?: { instances: { starting: number; running: number; stopping: number; stopped: number; deleting: number; deleted: number; }; containers: { starting: number; running: number; stopping: number; stopped: number; deleting: number; deleted: number; }; }; }; } export declare type States = "live" | "cloning" | "deleting" | "deleted"; export declare type Actions = "start" | "stop"; export interface NewParams { name: string; about?: { description?: string; }; } export interface UpdateParams { name?: string; about?: { description?: string; }; } export declare class CollectionRequest { private static target; static get(query?: QueryParams): Promise>; static create(doc: NewParams, query?: QueryParams): Promise>; } export declare class SingleRequest { private target; constructor(id: ResourceId); get(query?: QueryParams): Promise>; update(doc: UpdateParams, query?: QueryParams): Promise>; delete(query?: QueryParams): Promise>>; start(): Promise>>; stop(): Promise>>; task(action: Actions, contents?: object, query?: QueryParams): Promise>>; }