import Base, { MaybeRaw } from "../../../Base"; import { HttpMethod, PaginatedResponse, SearchParams } from "../../../interfaces/global"; import { Stream } from "../../../interfaces/high5"; import { High5Space as Space, High5SpaceEntityPermission as SpaceEntityPermission, High5SpacePermission as SpacePermission } from "../../../interfaces/high5/space"; import { CapturedRequest } from "../../../interfaces/high5/space/request"; import { High5Database } from "./database"; import { High5Event } from "./event"; import { High5SpaceExecute } from "./execution"; import { High5Job } from "./job"; import High5Node from "./node"; import High5Pool from "./pool"; import High5Secret from "./secret"; import { High5SpaceStat } from "./stat"; import High5Wave from "./wave"; import { High5Webhook } from "./webhook"; export declare class High5Space extends Base { get event(): High5Event; private _event?; get execute(): High5SpaceExecute; private _execute?; get webhook(): High5Webhook; private _webhook?; get secret(): High5Secret; private _secret?; get pool(): High5Pool; private _pool?; get wave(): High5Wave; private _wave?; get node(): High5Node; private _node?; get database(): High5Database; private _database?; get job(): High5Job; private _job?; get stat(): High5SpaceStat; private _stat?; /** * Retrieves all High5 Spaces of the specified Organization matching the search filter(s). Will return all Spaces if no search filter is provided. * @param orgName Name of the organization * @param filters (optional) Array of search filters * @param sorting (optional) Sorting object * @param limit (optional) Max number of results (1-100; defaults to 25) * @param page (optional) Page number: Skip the first (page * limit) results (defaults to 0) * @returns Object containing an array of High5 Spaces and the total number of results found in the database (independent of limit and page) */ searchSpaces({ orgName, filters, sorting, limit, page }: SearchParams & { orgName: string; }, raw?: { raw: R; }): Promise>>; /** * Retrieves permissions of a space matching the search filter(s). Will return all permissions of the space if no search filter is provided. * @param orgName Name of the organization * @param spaceName Name of the Space * @param filters (optional) Array of search filters * @param sorting (optional) Sorting object * @param limit (optional) Max number of results (1-100; defaults to 25) * @param page (optional) Page number: Skip the first (page * limit) results (defaults to 0) * @returns Object containing an array of High5 Space Permissions and the total number of results found in the database (independent of limit and page) */ searchSpacePermissions({ orgName, spaceName, filters, sorting, limit, page }: SearchParams & { orgName: string; spaceName: string; }, raw?: { raw: R; }): Promise>>; /** * Retrieves a High5 Space by its name. * @param orgName Name of the Organization * @param spaceName Name of the space * @returns The requested Space */ getSpace(orgName: string, spaceName: string, raw?: { raw: R; }): Promise>; /** * Creates a new High5 Space in the specified Organization. * @param orgName Name of the Organization * @param name Name for the new Space * @param enableDev (optional) Specifies to the front-end whether to display the versions in the development of Wave Engines and Node Catalogs * @returns The created Space */ createSpace(orgName: string, name: string, enableDev?: boolean, raw?: { raw: R; }): Promise>; /** * Delete a space by its name. * @param orgName Name of the Organization * @param spaceName Name of the Space */ deleteSpace(orgName: string, spaceName: string, raw?: { raw: R; }): Promise>; /** * Adds/Updates/Removes the permission a user has in the specified space. * @param orgName Name of the Organization * @param spaceName Name of the Space * @param userId ID of the User * @param permission New permission * @returns The Space with updated permissions */ updateUserSpacePermission(orgName: string, spaceName: string, userId: string, permission: SpacePermission, raw?: { raw: R; }): Promise>; /** * Adds/Updates/Removes the permission a team has in the specified space. Note: A team cannot be an owner of a Space. * @param orgName Name of the Organization * @param spaceName Name of the Space * @param teamName Name of the Team * @param permission New permission * @returns The Space with updated permissions */ updateTeamSpacePermission(orgName: string, spaceName: string, teamName: string, permission: SpacePermission, raw?: { raw: R; }): Promise>; /** * Retrieves all streams of a space matching the search filter(s). Will return all streams if no search filter is provided. * @param orgName Name of the organization * @param spaceName Name of the space * @param filters (optional) Array of search filters * @param sorting (optional) Sorting object * @param limit (optional) Max number of results (1-100; defaults to 25) * @param page (optional) Page number: Skip the first (page * limit) results (defaults to 0) * @returns Object containing an array of streams and the total number of results found in the database (independent of limit and page) */ searchStreamsOfSpace({ orgName, spaceName, filters, sorting, limit, page }: SearchParams & { orgName: string; spaceName: string; }, raw?: { raw: R; }): Promise>>; /** * Updates the name of a space. * @param orgName Name of the organization * @param spaceName Current name of the space * @param newSpaceName New name for the space * @returns The updated space */ renameSpace(orgName: string, spaceName: string, newSpaceName: string, raw?: { raw: R; }): Promise>; /** * Specifies to the front-end whether to display the versions under development of Wave Engines and Node Catalogs. * @param orgName Name of the organization * @param spaceName Name of the space * @param enableDev Specifies to the front-end whether to display the versions under development of Wave Engines and Node Catalogs * @returns The updated space */ enableDev(orgName: string, spaceName: string, enableDev: boolean, raw?: { raw: R; }): Promise>; /** * Updates the avatar of the specified High5 space * @param orgName Name of the organization * @param spaceName Name of the space * @param file Image as Javascript File * @returns Space details with updated avatar */ updateAvatar(orgName: string, spaceName: string, file: File, raw?: { raw: R; }): Promise>; /** * Captures and forwards an HTTP request to NATS for the specified space * This endpoint accepts any HTTP method and persists headers and body * @param method HTTP method to use (GET, POST, PUT, etc.) * @param orgName Name of the Organization * @param spaceName Name of the Space * @param data (optional) The body of the request * @param headers (optional) Additional headers to forward * @returns Captured request details */ capturedRequest(method: HttpMethod, orgName: string, spaceName: string, data?: any, headers?: Record, raw?: { raw: R; }): Promise>; protected getEndpoint(endpoint: string): string; }