import { NonEmptyArray } from '../../../helpers/array-helpers';
import { MediaItemFileType } from '../../Documents/Document.types';
import { MediaItemFile } from '../../Gallery/Gallery/Gallery';
import { MediaItemProcessor } from './MediaItemProcessor';
type VideoThumbnailProcessorProps = {};
export declare class VideoThumbnailProcessor extends MediaItemProcessor {
    applicableFileTypes: NonEmptyArray<MediaItemFileType>;
    private resolveProcessorPromise?;
    constructor(config: VideoThumbnailProcessorProps);
    process: (mediaItems: MediaItemFile[]) => Promise<MediaItemFile[] | null>;
    /**
     * Generates thumbnails for the provided media items.
     *
     * This method processes an array of media items, generating a thumbnail for each item
     * if applicable. If a media item does not have a file or its file type is not supported,
     * it is added to the processed media items array without modification. If a thumbnail
     * is successfully generated, the media item is updated with the public thumbnail URL.
     *
     * @param mediaItems - An array of media items to process.
     * @returns A promise that resolves with the processed media items, each potentially
     *          updated with a public thumbnail URL.
     */
    private generateThumbnails;
    /**
     * Generates a thumbnail image from a video file or blob.
     *
     * @param file - The video file or blob from which to generate the thumbnail.
     * @returns A promise that resolves to a data URL string representing the thumbnail image, or null if the thumbnail could not be generated.
     */
    private getThumbnail;
}
export {};
