import { BulkDeleteFilesRequest, BulkDeleteFilesResponse, BulkRestoreFilesFromTrashBinRequest, BulkRestoreFilesFromTrashBinResponse, GenerateFileDownloadUrlRequest, GenerateFileDownloadUrlResponse, GenerateFilesDownloadUrlRequest, GenerateFilesDownloadUrlResponse, GenerateFileUploadUrlRequest, GenerateFileUploadUrlResponse, GenerateVideoStreamingUrlRequest, GenerateVideoStreamingUrlResponse, GenerateWebSocketTokenRequest, GenerateWebSocketTokenResponse, GetFileDescriptorRequest, GetFileDescriptorResponse, ImportFileRequest, ImportFileResponse, ListDeletedFilesRequest, ListDeletedFilesResponse, ListFilesRequest, ListFilesResponse, UpdateFileRequest, UpdateFileResponse, GenerateFileResumableUploadUrlRequest, GenerateFileResumableUploadUrlResponse, BulkImportFilesRequest, BulkImportFilesResponse, SearchFilesRequest, SearchFilesResponse, GetFileDescriptorsRequest, GetFileDescriptorsResponse, UpdateFileDescriptorRequest, UpdateFileDescriptorResponse, BulkImportFileRequest, BulkImportFileResponse, BulkAnnotateImagesRequest, BulkAnnotateImagesResponse, BulkPublishDraftFilesRequest, BulkPublishDraftFilesResponse } from './types.impl';
import * as wrapper from './proto/proto-generated';
declare const FilesService: typeof wrapper.com.wix.media.site_media.v1.FilesService;
export declare type RequestOptions<T = any, U = any> = {
    _?: T;
    requestData: any;
    serviceArtifactId: string;
    serviceProtoClass: U;
    methodName: string;
};
/**
 * Run Image Annotation process on provided list of file ids
 * Note - the processes of this endpoint are synchronous and may take time to complete
 */
export declare function bulkAnnotateImages(payload: BulkAnnotateImagesRequest): RequestOptions<BulkAnnotateImagesResponse, typeof FilesService>;
/**
 * Generates a URL for downloading a compressed file containing specific files in the Media Manager.
 *
 * The compressed file can contain up to 1000 files.
 *
 * To generate a permanent URL for downloading a compressed file that contains multiple files in the Media Manager, call the Generate Files Download URL endpoint.
 * Since this is a permanent URL, it is less secure.
 * Therefore, to download private files, call the Generate File Download URL endpoint for each private file that you want to generate a download URL for.
 */
export declare function generateFilesDownloadUrl(payload: GenerateFilesDownloadUrlRequest): RequestOptions<GenerateFilesDownloadUrlResponse, typeof FilesService>;
/**
 * Generates one or more temporary URLs for downloading a specific file in the Media Manager.
 *
 * To download different assets of the file, specify the `assetKeys` parameter which generates a download URL for each asset.
 * If no `assetKey` is specified, it defaults to `src`, which generates one download URL in the original file's format and quality.
 *
 * Call this endpoint to grant external clients access to a private media file. Specify the `expirationInMinutes` parameter to set the URL expiration time, and the `expirationRedirectUrl` parameter to add a redirect url when the URL expires.
 *
 * To generate a permanent URL for downloading a compressed file that contains multiple files in the Media Manager, call the Generate Files Download URL endpoint.
 * Since this is a permanent URL, it is less secure.
 * Therefore, to download private files, call the Generate File Download URL endpoint for each private file that you want to generate a download URL for.
 */
export declare function generateFileDownloadUrl(payload: GenerateFileDownloadUrlRequest): RequestOptions<GenerateFileDownloadUrlResponse, typeof FilesService>;
/** Gets information about a specific file in the Media Manager. */
export declare function getFileDescriptor(payload: GetFileDescriptorRequest): RequestOptions<GetFileDescriptorResponse, typeof FilesService>;
/** Gets information about specific files in the Media Manager. */
export declare function getFileDescriptors(payload: GetFileDescriptorsRequest): RequestOptions<GetFileDescriptorsResponse, typeof FilesService>;
/**
 * Updates a file. <br />
 *
 * Specify the `parentFolderId` parameter to move a file from its current folder to a different folder.
 */
export declare function updateFileDescriptor(payload: UpdateFileDescriptorRequest): RequestOptions<UpdateFileDescriptorResponse, typeof FilesService>;
/**
 * Generates an upload URL to allow external clients to upload a file to the Media Manager. <br/>
 *
 * To learn how external clients can use the generated upload URL in the response to upload a file to the Media Manager, see Upload API ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/files/upload-api) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/upload-api)).
 * > **Notes:**
 * > - When you upload a file, it's not immediately available, meaning you can't manage or use the file straight away. Learn more about knowing when a file is ready ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/files/importing-files#backend-modules_media_files_knowing-when-a-file-is-ready) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/importing-files#knowing-when-a-file-is-ready)).
 * > - Any interruption in the upload process stops the file upload. For files larger than 10MB, or when network connection is poor, call Generate File Resumable Upload URL instead. With the resumable upload URL, any interruption in the upload process pauses the file upload, and resumes the file upload process after the interruption.
 */
export declare function generateFileUploadUrl(payload: GenerateFileUploadUrlRequest): RequestOptions<GenerateFileUploadUrlResponse, typeof FilesService>;
/**
 * Generates a resumable upload URL to allow external clients to easily upload large files over 10MB to the Media Manager. <br/>
 *
 * With the resumable upload URL, any interruptions in the upload process pauses the file upload, and resumes the file upload process after the interruption. The resumable upload URL is also helpful when network connection is poor.
 * To learn how external clients can use the generated upload URL in the response to upload large files to the Media Manager, see Resumable Upload API ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/files/resumable-upload-api) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/resumable-upload-api)).
 *
 * > **Note:** When you upload a file, it's not immediately available, meaning you can't manage or use the file straight away. Learn more about knowing when a file is ready ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/files/importing-files#backend-modules_media_files_knowing-when-a-file-is-ready) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/importing-files#knowing-when-a-file-is-ready)).
 */
export declare function generateFileResumableUploadUrl(payload: GenerateFileResumableUploadUrlRequest): RequestOptions<GenerateFileResumableUploadUrlResponse, typeof FilesService>;
/**
 * Imports a file to the Media Manager using an external url.
 *
 * Returns information about the imported file.
 * Specify the `parentFolderId` and `filePath` parameters to specify which folder you want the file to be imported to.
 * If no folder is specified, the file is imported to the `media-root` folder.
 *
 * >**Notes:**
 * > - The `media` property isn't returned in the `files` response object.
 * > - When you import a file, it's not immediately available, meaning you can't manage or use the file straight away. Learn more about knowing when a file is ready ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/files/importing-files#backend-modules_media_files_knowing-when-a-file-is-ready) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/importing-files#knowing-when-a-file-is-ready)).
 *
 * To import a file, you need to do one of the following:
 * - Specify its [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) in the `mimeType` field of the request. For example, `mimeType: 'image/jpeg'`.
 * - Specify its extension in either the `displayName` or `url` field of the request. For example, `displayName: 'Example Image.jpeg` or `url: https://www.example.com/image.jpeg`.
 * - Ensure the server hosting the file supports HEAD requests. In these cases the Wix servers can retrieve the MIME type from the hosting server.
 * > **Note:** If you want to validate the media type, specify the file's expected media type in the optional `mediaType` field of the request.  For example, `mediaType: 'IMAGE'`.
 */
export declare function importFile(payload: ImportFileRequest): RequestOptions<ImportFileResponse, typeof FilesService>;
/**
 * Imports a bulk of files to the Media Manager using external urls. <br/>
 *
 * Returns information about the imported files.
 *
 * Use the `parentFolderId` and `filePath` parameters to specify the folder you want each file to be imported to.
 * If no folder is specified, the file is imported to the `media-root` folder.
 *
 * >**Notes:**
 * > - The `media` property isn't returned in the `files` response object.
 * > - When you import a file, it's not immediately available, meaning you can't manage or use the file straight away. Learn more about knowing when a file is ready ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/files/importing-files#backend-modules_media_files_knowing-when-a-file-is-ready) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/importing-files#knowing-when-a-file-is-ready)).
 *
 * To import files, you need to do one of the following for each file:
 * - Specify its [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) in the `mimeType` field of the request. For example, `mimeType: 'image/jpeg'`.
 * - Include its extension in either the `displayName` or `url` field of the request. For example, `displayName: 'Example Image.jpeg` or `url: https://www.example.com/image.jpeg`.
 * - Ensure the server hosting the file supports HEAD requests. In these cases the Wix servers can retrieve the MIME type from the hosting server.
 * > **Note:** If you want to validate the media type, specify the file's expected media type in the optional `mediaType` field of the request.  For example, `mediaType: 'IMAGE'`.
 * @deprecated It has been replaced with com.wix.media.site_media.v1.FilesService.BulkImportFile(), and will be removed on 2024-03-31.
 */
export declare function bulkImportFiles(payload: BulkImportFilesRequest): RequestOptions<BulkImportFilesResponse, typeof FilesService>;
/**
 * Imports a bulk of files to the Media Manager using external urls. <br/>
 *
 * Returns information about the imported files.
 *
 * Specify the `parentFolderId` and `filePath` parameters to specify the folder you want each file to be imported to.
 * If no folder is specified, the file is imported to the `media-root` folder.
 *
 * >**Notes:**
 * > - The `media` property isn't returned in the `files` response object.
 * > - When you import a file, it's not immediately available, meaning you can't manage or use the file straight away. Learn more about knowing when a file is ready ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/files/importing-files#backend-modules_media_files_knowing-when-a-file-is-ready) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/importing-files#knowing-when-a-file-is-ready)).
 *
 * To import files, you need to do one of the following for each file:
 * - Specify its [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) in the `mimeType` field of the request. For example, `mimeType: 'image/jpeg'`.
 * - Include its extension in either the `displayName` or `url` field of the request. For example, `displayName: 'Example Image.jpeg` or `url: https://www.example.com/image.jpeg`.
 * - Ensure the server hosting the file supports HEAD requests. In these cases the Wix servers can retrieve the MIME type from the hosting server.
 * > **Note:** If you want to validate the media type, specify the file's expected media type in the optional `mediaType` field of the request.  For example, `mediaType: 'IMAGE'`.
 */
export declare function bulkImportFile(payload: BulkImportFileRequest): RequestOptions<BulkImportFileResponse, typeof FilesService>;
/**
 * Retrieves a list of files in the Media Manager.
 *
 * To retrieve a list of files within a specific folder in the Media Manager, specify the folder's ID in the `parentFolderId` parameter. If no folder is specified, the method retrieves the list of files in the root folder of the Media Manager.
 */
export declare function listFiles(payload: ListFilesRequest): RequestOptions<ListFilesResponse, typeof FilesService>;
/**
 * Retrieves a list of up to 200 files with the specified filtering, sorting, and cursor paging.
 *
 * If no parameters are specified, the method returns all files in the `MEDIA_ROOT` folder.
 *
 * ## Defaults
 *
 * Search Files has the following default setting, which you can override:
 * + Sorted by `updatedDate` in descending order.
 *
 * ## Filters
 *
 * When using filters for dates, you must use
 * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).
 *
 * ## See also
 *
 * To learn about working with *Search* methods, see
 * _API Query Language_
 * ([SDK](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language) | [REST](https://dev.wix.com/docs/rest/articles/get-started/api-query-language))
 * and *Sorting and Paging*
 * ([SDK](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language#the-sort-array) | [REST](https://dev.wix.com/docs/rest/articles/get-started/sorting-and-paging)).
 */
export declare function searchFiles(payload: SearchFilesRequest): RequestOptions<SearchFilesResponse, typeof FilesService>;
/**
 * Generates a URL for streaming a specific video file in the Media Manager. <br/>
 *
 * To stream different assets of the file, specify the `assetKeys` parameter which generates a video streaming URL for each asset. If no assetKey is specified, it defaults to `src`, which generates one video streaming URL in the original file's format and quality.
 */
export declare function generateVideoStreamingUrl(payload: GenerateVideoStreamingUrlRequest): RequestOptions<GenerateVideoStreamingUrlResponse, typeof FilesService>;
/**
 * Return a token for a direct web socket notification channel
 * This API is not platformized (Contact the Media team for use instructions)
 * This API should be internal only
 */
export declare function generateWebSocketToken(payload: GenerateWebSocketTokenRequest): RequestOptions<GenerateWebSocketTokenResponse, typeof FilesService>;
/**
 * Deletes the specified files from the Media Manager. <br/>
 *
 * The deleted files are moved to the Media Manager's trash bin (`TRASH-ROOT` folder) unless permanently deleted. To permanently delete files, specify the `permanent` parameter with the value `true`. Permanently deleting files isn't reversible, so make sure that these files aren't being used in a site or in any other way as the files will no longer be accessible.
 *
 * Note the following:
 * * The specified files can be from different folders.
 * * Moving multiple files at once is an asynchronous action, and may take time for the changes to appear in the Media Manager.
 * * Attempting to delete files that are already in the trash bin doesn't result in an error.
 * * If a site contains deleted media files, the deleted media files still appear on the site as the files are still in the Media Manager (in the trash bin).
 * * You can use Bulk Restore Files From Trash Bin to restore files from the Media Manager's trash bin.
 */
export declare function bulkDeleteFiles(payload: BulkDeleteFilesRequest): RequestOptions<BulkDeleteFilesResponse, typeof FilesService>;
/** Restores the specified files from the Media Manager's trash bin, and moves them to their original locations in the Media Manager. */
export declare function bulkRestoreFilesFromTrashBin(payload: BulkRestoreFilesFromTrashBinRequest): RequestOptions<BulkRestoreFilesFromTrashBinResponse, typeof FilesService>;
/**
 * Retrieves a list of files in the Media Manager's trash bin. <br/>
 *
 * >**Note:** The Media Manager's trash bin (`TRASH-ROOT` folder) only contains temporarily deleted files, not permanently deleted files.
 */
export declare function listDeletedFiles(payload: ListDeletedFilesRequest): RequestOptions<ListDeletedFilesResponse, typeof FilesService>;
export declare function bulkPublishDraftFiles(payload: BulkPublishDraftFilesRequest): RequestOptions<BulkPublishDraftFilesResponse, typeof FilesService>;
/**
 * Updates a file.
 *
 * Specify the `parentFolderId` parameter to move a file from its current folder to a different folder.
 * @deprecated It has been replaced with com.wix.media.site_media.v1.FilesService.UpdateFileDescriptor(), and will be removed on 2023-03-31.
 */
export declare function updateFile(payload: UpdateFileRequest): RequestOptions<UpdateFileResponse, typeof FilesService>;
export {};
