/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.18.2755
 * Contact: servicedesk@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
import { HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs';
import { FilesystemColumnTypeStudio } from '../model/models';
import { FilesystemCountersStudio } from '../model/models';
import { FilesystemPathStudio } from '../model/models';
import { FilesystemStudio } from '../model/models';
import { FolderSpecificationStudio } from '../model/models';
import { Configuration } from '../configuration';
export interface CreateFolderRequestParams {
    folderSpecificationStudio: FolderSpecificationStudio;
}
export interface DeleteFilesBatchRequestParams {
    requestBody: Array<string>;
}
export interface DeleteFolderRequestParams {
    folderKey: string;
}
export interface DeleteFoldersBatchRequestParams {
    requestBody: Array<string>;
}
export interface ReadFilesystemRequestParams {
    folderKey?: string | null;
    filter?: string;
    offset?: number;
    limit?: number;
    sortField?: FilesystemColumnTypeStudio;
    sortDirection?: 'ASC' | 'DESC';
}
export interface ReadFolderPathRequestParams {
    folderKey: string;
}
export interface ReadFolderSpecificationRequestParams {
    folderKey: string;
}
export interface UpdateFolderRequestParams {
    folderKey: string;
    folderSpecificationStudio: FolderSpecificationStudio;
}
export interface ExplorerServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Create folder
     * Create new folder.
* @param requestParameters
     */
    createFolder(requestParameters: CreateFolderRequestParams, extraHttpRequestParams?: any): Observable<string>;
    /**
     * Files removal (batch)
     * Batch delete files.
* @param requestParameters
     */
    deleteFilesBatch(requestParameters: DeleteFilesBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Folder removal
     * Folder removal by key.
* @param requestParameters
     */
    deleteFolder(requestParameters: DeleteFolderRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Folders removal (batch)
     * Batch delete folders.
* @param requestParameters
     */
    deleteFoldersBatch(requestParameters: DeleteFoldersBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Getting a filesystem
     * Getting a filesystem.
* @param requestParameters
     */
    readFilesystem(requestParameters: ReadFilesystemRequestParams, extraHttpRequestParams?: any): Observable<FilesystemStudio>;
    /**
     * Filesystem counters
     * Getting a virtual filesystem counters.
*/
    readFilesystemCounters(extraHttpRequestParams?: any): Observable<FilesystemCountersStudio>;
    /**
     * Folder path
     * Folder path.
* @param requestParameters
     */
    readFolderPath(requestParameters: ReadFolderPathRequestParams, extraHttpRequestParams?: any): Observable<FilesystemPathStudio>;
    /**
     * Folder specification
     * Getting a folder specification.
* @param requestParameters
     */
    readFolderSpecification(requestParameters: ReadFolderSpecificationRequestParams, extraHttpRequestParams?: any): Observable<FolderSpecificationStudio>;
    /**
     * Update folder
     * Rename and move folder.
* @param requestParameters
     */
    updateFolder(requestParameters: UpdateFolderRequestParams, extraHttpRequestParams?: any): Observable<FilesystemStudio>;
}
