/**
 * Apideck
 * The Apideck OpenAPI Spec: SDK Optimized
 *
 * The version of the OpenAPI document: 10.13.0
 * Contact: support@apideck.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { CopyFolderRequest, CreateDriveGroupResponse, CreateDriveResponse, CreateFolderRequest, CreateFolderResponse, CreateSharedLinkResponse, CreateUploadSessionRequest, CreateUploadSessionResponse, DeleteDriveGroupResponse, DeleteDriveResponse, DeleteFileResponse, DeleteFolderResponse, DeleteSharedLinkResponse, DeleteUploadSessionResponse, Drive, DriveGroup, DriveGroupsFilter, DrivesFilter, FilesFilter, FilesSearch, FilesSort, GetDriveGroupResponse, GetDriveGroupsResponse, GetDriveResponse, GetDrivesResponse, GetFileResponse, GetFilesResponse, GetFolderResponse, GetSharedLinkResponse, GetSharedLinksResponse, GetUploadSessionResponse, PassThroughQuery, SharedLink, UpdateDriveGroupResponse, UpdateDriveResponse, UpdateFileRequest, UpdateFileResponse, UpdateFolderRequest, UpdateFolderResponse, UpdateSharedLinkResponse } from '../models';
import * as runtime from '../runtime';
export interface FileStorageApiDriveGroupsAddRequest {
    driveGroup: DriveGroup;
    raw?: boolean;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
}
export interface FileStorageApiDriveGroupsAllRequest {
    raw?: boolean;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    cursor?: string | null;
    limit?: number;
    filter?: DriveGroupsFilter;
    passThrough?: PassThroughQuery;
    fields?: string | null;
}
export interface FileStorageApiDriveGroupsDeleteRequest {
    id: string;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
}
export interface FileStorageApiDriveGroupsOneRequest {
    id: string;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
    fields?: string | null;
}
export interface FileStorageApiDriveGroupsUpdateRequest {
    id: string;
    driveGroup: DriveGroup;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
}
export interface FileStorageApiDrivesAddRequest {
    drive: Drive;
    raw?: boolean;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
}
export interface FileStorageApiDrivesAllRequest {
    raw?: boolean;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    cursor?: string | null;
    limit?: number;
    filter?: DrivesFilter;
    fields?: string | null;
}
export interface FileStorageApiDrivesDeleteRequest {
    id: string;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
}
export interface FileStorageApiDrivesOneRequest {
    id: string;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
    fields?: string | null;
}
export interface FileStorageApiDrivesUpdateRequest {
    id: string;
    drive: Drive;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
}
export interface FileStorageApiFilesAllRequest {
    raw?: boolean;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    cursor?: string | null;
    limit?: number;
    filter?: FilesFilter;
    sort?: FilesSort;
    passThrough?: PassThroughQuery;
    fields?: string | null;
}
export interface FileStorageApiFilesDeleteRequest {
    id: string;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
}
export interface FileStorageApiFilesDownloadRequest {
    id: string;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    fields?: string | null;
}
export interface FileStorageApiFilesExportRequest {
    id: string;
    format: string;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    fields?: string | null;
}
export interface FileStorageApiFilesOneRequest {
    id: string;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
    fields?: string | null;
}
export interface FileStorageApiFilesSearchRequest {
    filesSearch: FilesSearch;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    passThrough?: PassThroughQuery;
    fields?: string | null;
    cursor?: string | null;
    limit?: number;
    raw?: boolean;
    filter?: FilesFilter;
}
export interface FileStorageApiFilesUpdateRequest {
    id: string;
    file: UpdateFileRequest;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
}
export interface FileStorageApiFoldersAddRequest {
    folder: CreateFolderRequest;
    raw?: boolean;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    fields?: string | null;
}
export interface FileStorageApiFoldersCopyRequest {
    id: string;
    folder: CopyFolderRequest;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
    fields?: string | null;
}
export interface FileStorageApiFoldersDeleteRequest {
    id: string;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
}
export interface FileStorageApiFoldersOneRequest {
    id: string;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
    fields?: string | null;
}
export interface FileStorageApiFoldersUpdateRequest {
    id: string;
    folder: UpdateFolderRequest;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
}
export interface FileStorageApiSharedLinksAddRequest {
    sharedLink: SharedLink;
    raw?: boolean;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
}
export interface FileStorageApiSharedLinksAllRequest {
    raw?: boolean;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    cursor?: string | null;
    limit?: number;
    passThrough?: PassThroughQuery;
    fields?: string | null;
}
export interface FileStorageApiSharedLinksDeleteRequest {
    id: string;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
}
export interface FileStorageApiSharedLinksOneRequest {
    id: string;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
    fields?: string | null;
}
export interface FileStorageApiSharedLinksUpdateRequest {
    id: string;
    sharedLink: SharedLink;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
}
export interface FileStorageApiUploadSessionsAddRequest {
    uploadSession: CreateUploadSessionRequest;
    raw?: boolean;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
}
export interface FileStorageApiUploadSessionsDeleteRequest {
    id: string;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
}
export interface FileStorageApiUploadSessionsFinishRequest {
    id: string;
    raw?: boolean;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    digest?: string;
    body?: object;
}
export interface FileStorageApiUploadSessionsOneRequest {
    id: string;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
    fields?: string | null;
}
/**
 *
 */
export declare class FileStorageApi extends runtime.BaseAPI {
    /**
     * Create DriveGroup
     * Create DriveGroup
     */
    driveGroupsAddRaw(requestParameters: FileStorageApiDriveGroupsAddRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<CreateDriveGroupResponse>>;
    /**
     * Create DriveGroup
     * Create DriveGroup
     */
    driveGroupsAdd(requestParameters: FileStorageApiDriveGroupsAddRequest, initOverrides?: RequestInit): Promise<CreateDriveGroupResponse>;
    /**
     * List DriveGroups
     * List DriveGroups
     */
    driveGroupsAllRaw(requestParameters: FileStorageApiDriveGroupsAllRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetDriveGroupsResponse>>;
    /**
     * List DriveGroups
     * List DriveGroups
     */
    driveGroupsAll(requestParameters?: FileStorageApiDriveGroupsAllRequest, initOverrides?: RequestInit): Promise<GetDriveGroupsResponse>;
    /**
     * Delete DriveGroup
     * Delete DriveGroup
     */
    driveGroupsDeleteRaw(requestParameters: FileStorageApiDriveGroupsDeleteRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<DeleteDriveGroupResponse>>;
    /**
     * Delete DriveGroup
     * Delete DriveGroup
     */
    driveGroupsDelete(requestParameters: FileStorageApiDriveGroupsDeleteRequest, initOverrides?: RequestInit): Promise<DeleteDriveGroupResponse>;
    /**
     * Get DriveGroup
     * Get DriveGroup
     */
    driveGroupsOneRaw(requestParameters: FileStorageApiDriveGroupsOneRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetDriveGroupResponse>>;
    /**
     * Get DriveGroup
     * Get DriveGroup
     */
    driveGroupsOne(requestParameters: FileStorageApiDriveGroupsOneRequest, initOverrides?: RequestInit): Promise<GetDriveGroupResponse>;
    /**
     * Update DriveGroup
     * Update DriveGroup
     */
    driveGroupsUpdateRaw(requestParameters: FileStorageApiDriveGroupsUpdateRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<UpdateDriveGroupResponse>>;
    /**
     * Update DriveGroup
     * Update DriveGroup
     */
    driveGroupsUpdate(requestParameters: FileStorageApiDriveGroupsUpdateRequest, initOverrides?: RequestInit): Promise<UpdateDriveGroupResponse>;
    /**
     * Create Drive
     * Create Drive
     */
    drivesAddRaw(requestParameters: FileStorageApiDrivesAddRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<CreateDriveResponse>>;
    /**
     * Create Drive
     * Create Drive
     */
    drivesAdd(requestParameters: FileStorageApiDrivesAddRequest, initOverrides?: RequestInit): Promise<CreateDriveResponse>;
    /**
     * List Drives
     * List Drives
     */
    drivesAllRaw(requestParameters: FileStorageApiDrivesAllRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetDrivesResponse>>;
    /**
     * List Drives
     * List Drives
     */
    drivesAll(requestParameters?: FileStorageApiDrivesAllRequest, initOverrides?: RequestInit): Promise<GetDrivesResponse>;
    /**
     * Delete Drive
     * Delete Drive
     */
    drivesDeleteRaw(requestParameters: FileStorageApiDrivesDeleteRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<DeleteDriveResponse>>;
    /**
     * Delete Drive
     * Delete Drive
     */
    drivesDelete(requestParameters: FileStorageApiDrivesDeleteRequest, initOverrides?: RequestInit): Promise<DeleteDriveResponse>;
    /**
     * Get Drive
     * Get Drive
     */
    drivesOneRaw(requestParameters: FileStorageApiDrivesOneRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetDriveResponse>>;
    /**
     * Get Drive
     * Get Drive
     */
    drivesOne(requestParameters: FileStorageApiDrivesOneRequest, initOverrides?: RequestInit): Promise<GetDriveResponse>;
    /**
     * Update Drive
     * Update Drive
     */
    drivesUpdateRaw(requestParameters: FileStorageApiDrivesUpdateRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<UpdateDriveResponse>>;
    /**
     * Update Drive
     * Update Drive
     */
    drivesUpdate(requestParameters: FileStorageApiDrivesUpdateRequest, initOverrides?: RequestInit): Promise<UpdateDriveResponse>;
    /**
     * List Files
     * List Files
     */
    filesAllRaw(requestParameters: FileStorageApiFilesAllRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetFilesResponse>>;
    /**
     * List Files
     * List Files
     */
    filesAll(requestParameters?: FileStorageApiFilesAllRequest, initOverrides?: RequestInit): Promise<GetFilesResponse>;
    /**
     * Delete File
     * Delete File
     */
    filesDeleteRaw(requestParameters: FileStorageApiFilesDeleteRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<DeleteFileResponse>>;
    /**
     * Delete File
     * Delete File
     */
    filesDelete(requestParameters: FileStorageApiFilesDeleteRequest, initOverrides?: RequestInit): Promise<DeleteFileResponse>;
    /**
     * Download File
     * Download File
     */
    filesDownloadRaw(requestParameters: FileStorageApiFilesDownloadRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Blob>>;
    /**
     * Download File
     * Download File
     */
    filesDownload(requestParameters: FileStorageApiFilesDownloadRequest, initOverrides?: RequestInit): Promise<Blob>;
    /**
     * Export File
     * Export File
     */
    filesExportRaw(requestParameters: FileStorageApiFilesExportRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Blob>>;
    /**
     * Export File
     * Export File
     */
    filesExport(requestParameters: FileStorageApiFilesExportRequest, initOverrides?: RequestInit): Promise<Blob>;
    /**
     * Get File
     * Get File
     */
    filesOneRaw(requestParameters: FileStorageApiFilesOneRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetFileResponse>>;
    /**
     * Get File
     * Get File
     */
    filesOne(requestParameters: FileStorageApiFilesOneRequest, initOverrides?: RequestInit): Promise<GetFileResponse>;
    /**
     * Search Files
     * Search Files
     */
    filesSearchRaw(requestParameters: FileStorageApiFilesSearchRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetFilesResponse>>;
    /**
     * Search Files
     * Search Files
     */
    filesSearch(requestParameters: FileStorageApiFilesSearchRequest, initOverrides?: RequestInit): Promise<GetFilesResponse>;
    /**
     * Rename or move File
     * Rename or move File
     */
    filesUpdateRaw(requestParameters: FileStorageApiFilesUpdateRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<UpdateFileResponse>>;
    /**
     * Rename or move File
     * Rename or move File
     */
    filesUpdate(requestParameters: FileStorageApiFilesUpdateRequest, initOverrides?: RequestInit): Promise<UpdateFileResponse>;
    /**
     * Create Folder
     * Create Folder
     */
    foldersAddRaw(requestParameters: FileStorageApiFoldersAddRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<CreateFolderResponse>>;
    /**
     * Create Folder
     * Create Folder
     */
    foldersAdd(requestParameters: FileStorageApiFoldersAddRequest, initOverrides?: RequestInit): Promise<CreateFolderResponse>;
    /**
     * Copy Folder
     * Copy Folder
     */
    foldersCopyRaw(requestParameters: FileStorageApiFoldersCopyRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<UpdateFolderResponse>>;
    /**
     * Copy Folder
     * Copy Folder
     */
    foldersCopy(requestParameters: FileStorageApiFoldersCopyRequest, initOverrides?: RequestInit): Promise<UpdateFolderResponse>;
    /**
     * Delete Folder
     * Delete Folder
     */
    foldersDeleteRaw(requestParameters: FileStorageApiFoldersDeleteRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<DeleteFolderResponse>>;
    /**
     * Delete Folder
     * Delete Folder
     */
    foldersDelete(requestParameters: FileStorageApiFoldersDeleteRequest, initOverrides?: RequestInit): Promise<DeleteFolderResponse>;
    /**
     * Get Folder
     * Get Folder
     */
    foldersOneRaw(requestParameters: FileStorageApiFoldersOneRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetFolderResponse>>;
    /**
     * Get Folder
     * Get Folder
     */
    foldersOne(requestParameters: FileStorageApiFoldersOneRequest, initOverrides?: RequestInit): Promise<GetFolderResponse>;
    /**
     * Rename or move Folder
     * Rename or move Folder
     */
    foldersUpdateRaw(requestParameters: FileStorageApiFoldersUpdateRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<UpdateFolderResponse>>;
    /**
     * Rename or move Folder
     * Rename or move Folder
     */
    foldersUpdate(requestParameters: FileStorageApiFoldersUpdateRequest, initOverrides?: RequestInit): Promise<UpdateFolderResponse>;
    /**
     * Create Shared Link
     * Create Shared Link
     */
    sharedLinksAddRaw(requestParameters: FileStorageApiSharedLinksAddRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<CreateSharedLinkResponse>>;
    /**
     * Create Shared Link
     * Create Shared Link
     */
    sharedLinksAdd(requestParameters: FileStorageApiSharedLinksAddRequest, initOverrides?: RequestInit): Promise<CreateSharedLinkResponse>;
    /**
     * List SharedLinks
     * List SharedLinks
     */
    sharedLinksAllRaw(requestParameters: FileStorageApiSharedLinksAllRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetSharedLinksResponse>>;
    /**
     * List SharedLinks
     * List SharedLinks
     */
    sharedLinksAll(requestParameters?: FileStorageApiSharedLinksAllRequest, initOverrides?: RequestInit): Promise<GetSharedLinksResponse>;
    /**
     * Delete Shared Link
     * Delete Shared Link
     */
    sharedLinksDeleteRaw(requestParameters: FileStorageApiSharedLinksDeleteRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<DeleteSharedLinkResponse>>;
    /**
     * Delete Shared Link
     * Delete Shared Link
     */
    sharedLinksDelete(requestParameters: FileStorageApiSharedLinksDeleteRequest, initOverrides?: RequestInit): Promise<DeleteSharedLinkResponse>;
    /**
     * Get Shared Link
     * Get Shared Link
     */
    sharedLinksOneRaw(requestParameters: FileStorageApiSharedLinksOneRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetSharedLinkResponse>>;
    /**
     * Get Shared Link
     * Get Shared Link
     */
    sharedLinksOne(requestParameters: FileStorageApiSharedLinksOneRequest, initOverrides?: RequestInit): Promise<GetSharedLinkResponse>;
    /**
     * Update Shared Link
     * Update Shared Link
     */
    sharedLinksUpdateRaw(requestParameters: FileStorageApiSharedLinksUpdateRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<UpdateSharedLinkResponse>>;
    /**
     * Update Shared Link
     * Update Shared Link
     */
    sharedLinksUpdate(requestParameters: FileStorageApiSharedLinksUpdateRequest, initOverrides?: RequestInit): Promise<UpdateSharedLinkResponse>;
    /**
     * Start an Upload Session. Upload sessions are used to upload large files, use the [Upload File](#operation/filesUpload) endpoint to upload smaller files (up to 100MB). Note that the base URL is upload.apideck.com instead of unify.apideck.com. For more information on uploads, refer to the [file upload guide](/guides/file-upload).
     * Start Upload Session
     */
    uploadSessionsAddRaw(requestParameters: FileStorageApiUploadSessionsAddRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<CreateUploadSessionResponse>>;
    /**
     * Start an Upload Session. Upload sessions are used to upload large files, use the [Upload File](#operation/filesUpload) endpoint to upload smaller files (up to 100MB). Note that the base URL is upload.apideck.com instead of unify.apideck.com. For more information on uploads, refer to the [file upload guide](/guides/file-upload).
     * Start Upload Session
     */
    uploadSessionsAdd(requestParameters: FileStorageApiUploadSessionsAddRequest, initOverrides?: RequestInit): Promise<CreateUploadSessionResponse>;
    /**
     * Abort Upload Session. Note that the base URL is upload.apideck.com instead of unify.apideck.com. For more information on uploads, refer to the [file upload guide](/guides/file-upload).
     * Abort Upload Session
     */
    uploadSessionsDeleteRaw(requestParameters: FileStorageApiUploadSessionsDeleteRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<DeleteUploadSessionResponse>>;
    /**
     * Abort Upload Session. Note that the base URL is upload.apideck.com instead of unify.apideck.com. For more information on uploads, refer to the [file upload guide](/guides/file-upload).
     * Abort Upload Session
     */
    uploadSessionsDelete(requestParameters: FileStorageApiUploadSessionsDeleteRequest, initOverrides?: RequestInit): Promise<DeleteUploadSessionResponse>;
    /**
     * Finish Upload Session. Only call this endpoint after all File parts have been uploaded to [Upload part of File](#operation/uploadSessionsUpload). Note that the base URL is upload.apideck.com instead of unify.apideck.com. For more information on uploads, refer to the [file upload guide](/guides/file-upload).
     * Finish Upload Session
     */
    uploadSessionsFinishRaw(requestParameters: FileStorageApiUploadSessionsFinishRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetFileResponse>>;
    /**
     * Finish Upload Session. Only call this endpoint after all File parts have been uploaded to [Upload part of File](#operation/uploadSessionsUpload). Note that the base URL is upload.apideck.com instead of unify.apideck.com. For more information on uploads, refer to the [file upload guide](/guides/file-upload).
     * Finish Upload Session
     */
    uploadSessionsFinish(requestParameters: FileStorageApiUploadSessionsFinishRequest, initOverrides?: RequestInit): Promise<GetFileResponse>;
    /**
     * Get Upload Session. Use the `part_size` to split your file into parts. Upload the parts to the [Upload part of File](#operation/uploadSessionsUpload) endpoint. Note that the base URL is upload.apideck.com instead of unify.apideck.com. For more information on uploads, refer to the [file upload guide](/guides/file-upload).
     * Get Upload Session
     */
    uploadSessionsOneRaw(requestParameters: FileStorageApiUploadSessionsOneRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetUploadSessionResponse>>;
    /**
     * Get Upload Session. Use the `part_size` to split your file into parts. Upload the parts to the [Upload part of File](#operation/uploadSessionsUpload) endpoint. Note that the base URL is upload.apideck.com instead of unify.apideck.com. For more information on uploads, refer to the [file upload guide](/guides/file-upload).
     * Get Upload Session
     */
    uploadSessionsOne(requestParameters: FileStorageApiUploadSessionsOneRequest, initOverrides?: RequestInit): Promise<GetUploadSessionResponse>;
}
