import { HttpClient, HttpHeaders, HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http';
import { Observable } from 'rxjs';
import { DeletedEntityResponse } from '../model/deletedEntityResponse';
import { PagedResourceListOfWorkspace } from '../model/pagedResourceListOfWorkspace';
import { PagedResourceListOfWorkspaceItem } from '../model/pagedResourceListOfWorkspaceItem';
import { Workspace } from '../model/workspace';
import { WorkspaceCreationRequest } from '../model/workspaceCreationRequest';
import { WorkspaceItem } from '../model/workspaceItem';
import { WorkspaceItemCreationRequest } from '../model/workspaceItemCreationRequest';
import { WorkspaceItemUpdateRequest } from '../model/workspaceItemUpdateRequest';
import { WorkspaceUpdateRequest } from '../model/workspaceUpdateRequest';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export declare class WorkspaceService {
    protected httpClient: HttpClient;
    protected basePath: string;
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    encoder: HttpParameterCodec;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration: Configuration);
    private addToHttpParams;
    private addToHttpParamsRecursive;
    /**
     * [EXPERIMENTAL] CreatePersonalItem: Create a new item in a personal workspace.
     * Create a new item in a personal workspace.
     * @param workspaceName The item\&#39;s workspace name.
     * @param workspaceItemCreationRequest The item to be created.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createPersonalItem(workspaceName: string, workspaceItemCreationRequest?: WorkspaceItemCreationRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<WorkspaceItem>;
    createPersonalItem(workspaceName: string, workspaceItemCreationRequest?: WorkspaceItemCreationRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<WorkspaceItem>>;
    createPersonalItem(workspaceName: string, workspaceItemCreationRequest?: WorkspaceItemCreationRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<WorkspaceItem>>;
    /**
     * [EXPERIMENTAL] CreatePersonalWorkspace: Create a new personal workspace.
     * Create a new personal workspace.
     * @param workspaceCreationRequest The workspace to be created.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createPersonalWorkspace(workspaceCreationRequest?: WorkspaceCreationRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<Workspace>;
    createPersonalWorkspace(workspaceCreationRequest?: WorkspaceCreationRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Workspace>>;
    createPersonalWorkspace(workspaceCreationRequest?: WorkspaceCreationRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Workspace>>;
    /**
     * [EXPERIMENTAL] CreateSharedItem: Create a new item in a shared workspace.
     * Create a new item in a shared workspace.
     * @param workspaceName The item\&#39;s workspace name.
     * @param workspaceItemCreationRequest The item to be created.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createSharedItem(workspaceName: string, workspaceItemCreationRequest?: WorkspaceItemCreationRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<WorkspaceItem>;
    createSharedItem(workspaceName: string, workspaceItemCreationRequest?: WorkspaceItemCreationRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<WorkspaceItem>>;
    createSharedItem(workspaceName: string, workspaceItemCreationRequest?: WorkspaceItemCreationRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<WorkspaceItem>>;
    /**
     * [EXPERIMENTAL] CreateSharedWorkspace: Create a new shared workspace.
     * Create a new shared workspace.
     * @param workspaceCreationRequest The workspace to be created.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createSharedWorkspace(workspaceCreationRequest?: WorkspaceCreationRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<Workspace>;
    createSharedWorkspace(workspaceCreationRequest?: WorkspaceCreationRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Workspace>>;
    createSharedWorkspace(workspaceCreationRequest?: WorkspaceCreationRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Workspace>>;
    /**
     * [EXPERIMENTAL] DeletePersonalItem: Delete an item from a personal workspace.
     * Delete an item from a personal workspace.
     * @param workspaceName The name of the personal workspace.
     * @param itemName The name of the item.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deletePersonalItem(workspaceName: string, itemName: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<DeletedEntityResponse>;
    deletePersonalItem(workspaceName: string, itemName: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<DeletedEntityResponse>>;
    deletePersonalItem(workspaceName: string, itemName: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<DeletedEntityResponse>>;
    /**
     * [EXPERIMENTAL] DeletePersonalWorkspace: Delete a personal workspace.
     * Delete a personal workspace.
     * @param workspaceName The name of the personal workspace.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deletePersonalWorkspace(workspaceName: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<DeletedEntityResponse>;
    deletePersonalWorkspace(workspaceName: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<DeletedEntityResponse>>;
    deletePersonalWorkspace(workspaceName: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<DeletedEntityResponse>>;
    /**
     * [EXPERIMENTAL] DeleteSharedItem: Delete an item from a shared workspace.
     * Delete an item from a shared workspace.
     * @param workspaceName The name of the shared workspace.
     * @param itemName The name of the item.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteSharedItem(workspaceName: string, itemName: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<DeletedEntityResponse>;
    deleteSharedItem(workspaceName: string, itemName: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<DeletedEntityResponse>>;
    deleteSharedItem(workspaceName: string, itemName: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<DeletedEntityResponse>>;
    /**
     * [EXPERIMENTAL] DeleteSharedWorkspace: Delete a shared workspace.
     * Delete a shared workspace.
     * @param workspaceName The name of the shared workspace.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteSharedWorkspace(workspaceName: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<DeletedEntityResponse>;
    deleteSharedWorkspace(workspaceName: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<DeletedEntityResponse>>;
    deleteSharedWorkspace(workspaceName: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<DeletedEntityResponse>>;
    /**
     * [EXPERIMENTAL] GetPersonalItem: Get a single personal workspace item.
     * Get a single personal workspace item.
     * @param workspaceName The name of the personal workspace.
     * @param itemName The name of the item.
     * @param asAt The datetime at which to request the workspace item. If not provided, defaults to \&#39;latest\&#39;.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getPersonalItem(workspaceName: string, itemName: string, asAt?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<WorkspaceItem>;
    getPersonalItem(workspaceName: string, itemName: string, asAt?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<WorkspaceItem>>;
    getPersonalItem(workspaceName: string, itemName: string, asAt?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<WorkspaceItem>>;
    /**
     * [EXPERIMENTAL] GetPersonalWorkspace: Get a personal workspace.
     * Get a personal workspace.
     * @param workspaceName The personal workspace name.
     * @param asAt The asAt datetime at which to retrieve workspaces. Defaults to \&#39;latest\&#39; if not specified.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getPersonalWorkspace(workspaceName: string, asAt?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<Workspace>;
    getPersonalWorkspace(workspaceName: string, asAt?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Workspace>>;
    getPersonalWorkspace(workspaceName: string, asAt?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Workspace>>;
    /**
     * [EXPERIMENTAL] GetSharedItem: Get a single shared workspace item.
     * Get a single shared workspace item.
     * @param workspaceName The name of the shared workspace.
     * @param itemName The name of the item.
     * @param asAt The datetime at which to request the workspace item. If not provided, defaults to \&#39;latest\&#39;.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getSharedItem(workspaceName: string, itemName: string, asAt?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<WorkspaceItem>;
    getSharedItem(workspaceName: string, itemName: string, asAt?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<WorkspaceItem>>;
    getSharedItem(workspaceName: string, itemName: string, asAt?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<WorkspaceItem>>;
    /**
     * [EXPERIMENTAL] GetSharedWorkspace: Get a shared workspace.
     * Get a shared workspace.
     * @param workspaceName The shared workspace name.
     * @param asAt The asAt datetime at which to retrieve workspaces. Defaults to \&#39;latest\&#39; if not specified.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getSharedWorkspace(workspaceName: string, asAt?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<Workspace>;
    getSharedWorkspace(workspaceName: string, asAt?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Workspace>>;
    getSharedWorkspace(workspaceName: string, asAt?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Workspace>>;
    /**
     * [EXPERIMENTAL] ListPersonalItems: List the items in a personal workspace.
     * List the items in a personal workspace.
     * @param workspaceName The item\&#39;s workspace name.
     * @param asAt The asAt datetime at which to retrieve workspace items. Defaults to \&#39;latest\&#39; if not specified.
     * @param page The pagination token to use to continue listing workspaces items from a previous call to list workspaces items.              This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields              must not have changed since the original request.
     * @param sortBy A list of field names to sort by, each suffixed by \&quot; ASC\&quot; or \&quot; DESC\&quot;.
     * @param limit When paginating, limit the number of returned results to this many.
     * @param filter Expression to filter the result set. Read more about filtering results from LUSID here:              https://support.lusid.com/filtering-results-from-lusid.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    listPersonalItems(workspaceName: string, asAt?: string, page?: string, sortBy?: Array<string>, limit?: number, filter?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<PagedResourceListOfWorkspaceItem>;
    listPersonalItems(workspaceName: string, asAt?: string, page?: string, sortBy?: Array<string>, limit?: number, filter?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<PagedResourceListOfWorkspaceItem>>;
    listPersonalItems(workspaceName: string, asAt?: string, page?: string, sortBy?: Array<string>, limit?: number, filter?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<PagedResourceListOfWorkspaceItem>>;
    /**
     * [EXPERIMENTAL] ListPersonalWorkspaces: List personal workspaces.
     * List personal workspaces.
     * @param asAt The asAt datetime at which to retrieve workspaces. Defaults to \&#39;latest\&#39; if not specified.
     * @param page The pagination token to use to continue listing workspaces from a previous call to list workspaces.              This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields              must not have changed since the original request.
     * @param sortBy A list of field names to sort by, each suffixed by \&quot; ASC\&quot; or \&quot; DESC\&quot;.
     * @param limit When paginating, limit the number of returned results to this many.
     * @param filter Expression to filter the result set. Read more about filtering results from LUSID here:              https://support.lusid.com/filtering-results-from-lusid.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    listPersonalWorkspaces(asAt?: string, page?: string, sortBy?: Array<string>, limit?: number, filter?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<PagedResourceListOfWorkspace>;
    listPersonalWorkspaces(asAt?: string, page?: string, sortBy?: Array<string>, limit?: number, filter?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<PagedResourceListOfWorkspace>>;
    listPersonalWorkspaces(asAt?: string, page?: string, sortBy?: Array<string>, limit?: number, filter?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<PagedResourceListOfWorkspace>>;
    /**
     * [EXPERIMENTAL] ListSharedItems: List the items in a shared workspace.
     * List the items in a shared workspace.
     * @param workspaceName The item\&#39;s workspace name.
     * @param asAt The asAt datetime at which to retrieve workspace items. Defaults to \&#39;latest\&#39; if not specified.
     * @param page The pagination token to use to continue listing workspaces items from a previous call to list workspaces items.              This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields              must not have changed since the original request.
     * @param sortBy A list of field names to sort by, each suffixed by \&quot; ASC\&quot; or \&quot; DESC\&quot;.
     * @param limit When paginating, limit the number of returned results to this many.
     * @param filter Expression to filter the result set. Read more about filtering results from LUSID here:              https://support.lusid.com/filtering-results-from-lusid.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    listSharedItems(workspaceName: string, asAt?: string, page?: string, sortBy?: Array<string>, limit?: number, filter?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<PagedResourceListOfWorkspaceItem>;
    listSharedItems(workspaceName: string, asAt?: string, page?: string, sortBy?: Array<string>, limit?: number, filter?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<PagedResourceListOfWorkspaceItem>>;
    listSharedItems(workspaceName: string, asAt?: string, page?: string, sortBy?: Array<string>, limit?: number, filter?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<PagedResourceListOfWorkspaceItem>>;
    /**
     * [EXPERIMENTAL] ListSharedWorkspaces: List shared workspaces.
     * List shared workspaces.
     * @param asAt The asAt datetime at which to retrieve workspaces. Defaults to \&#39;latest\&#39; if not specified.
     * @param page The pagination token to use to continue listing workspaces from a previous call to list workspaces.              This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields              must not have changed since the original request.
     * @param sortBy A list of field names to sort by, each suffixed by \&quot; ASC\&quot; or \&quot; DESC\&quot;.
     * @param limit When paginating, limit the number of returned results to this many.
     * @param filter Expression to filter the result set. Read more about filtering results from LUSID here:              https://support.lusid.com/filtering-results-from-lusid.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    listSharedWorkspaces(asAt?: string, page?: string, sortBy?: Array<string>, limit?: number, filter?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<PagedResourceListOfWorkspace>;
    listSharedWorkspaces(asAt?: string, page?: string, sortBy?: Array<string>, limit?: number, filter?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<PagedResourceListOfWorkspace>>;
    listSharedWorkspaces(asAt?: string, page?: string, sortBy?: Array<string>, limit?: number, filter?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<PagedResourceListOfWorkspace>>;
    /**
     * [EXPERIMENTAL] UpdatePersonalItem: Update an item in a personal workspace.
     * Update an item in a personal workspace.
     * @param workspaceName The personal workspace name.
     * @param itemName The item name.
     * @param workspaceItemUpdateRequest The new item details.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updatePersonalItem(workspaceName: string, itemName: string, workspaceItemUpdateRequest?: WorkspaceItemUpdateRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<WorkspaceItem>;
    updatePersonalItem(workspaceName: string, itemName: string, workspaceItemUpdateRequest?: WorkspaceItemUpdateRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<WorkspaceItem>>;
    updatePersonalItem(workspaceName: string, itemName: string, workspaceItemUpdateRequest?: WorkspaceItemUpdateRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<WorkspaceItem>>;
    /**
     * [EXPERIMENTAL] UpdatePersonalWorkspace: Update a personal workspace.
     * Update a personal workspace.
     * @param workspaceName The personal workspace name.
     * @param workspaceUpdateRequest The new workspace details.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updatePersonalWorkspace(workspaceName: string, workspaceUpdateRequest?: WorkspaceUpdateRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<Workspace>;
    updatePersonalWorkspace(workspaceName: string, workspaceUpdateRequest?: WorkspaceUpdateRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Workspace>>;
    updatePersonalWorkspace(workspaceName: string, workspaceUpdateRequest?: WorkspaceUpdateRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Workspace>>;
    /**
     * [EXPERIMENTAL] UpdateSharedItem: Update an item in a shared workspace.
     * Update an item in a shared workspace.
     * @param workspaceName The shared workspace name.
     * @param itemName The item name.
     * @param workspaceItemUpdateRequest The new item details.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updateSharedItem(workspaceName: string, itemName: string, workspaceItemUpdateRequest?: WorkspaceItemUpdateRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<WorkspaceItem>;
    updateSharedItem(workspaceName: string, itemName: string, workspaceItemUpdateRequest?: WorkspaceItemUpdateRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<WorkspaceItem>>;
    updateSharedItem(workspaceName: string, itemName: string, workspaceItemUpdateRequest?: WorkspaceItemUpdateRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<WorkspaceItem>>;
    /**
     * [EXPERIMENTAL] UpdateSharedWorkspace: Update a shared workspace.
     * Update a shared workspace.
     * @param workspaceName The shared workspace name.
     * @param workspaceUpdateRequest The new workspace details.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updateSharedWorkspace(workspaceName: string, workspaceUpdateRequest?: WorkspaceUpdateRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<Workspace>;
    updateSharedWorkspace(workspaceName: string, workspaceUpdateRequest?: WorkspaceUpdateRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Workspace>>;
    updateSharedWorkspace(workspaceName: string, workspaceUpdateRequest?: WorkspaceUpdateRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Workspace>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<WorkspaceService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<WorkspaceService>;
}
