import "../assets/styles/index.scss";
import type { Image, Media } from "@paroicms/public-anywhere-lib";
import type { GetMediaProperties, HttpUploadMediaValue, SetMediaAttachedData } from "./gallery-types";
import type { UploadingFileHandler } from "./helpers/http-helper";
export interface MediaGalleryProps {
    className?: string;
    getMedias: (handle: string) => Promise<(Media | Image)[]>;
    httpUploadMedia: ({ file, handle, attachedData }: HttpUploadMediaValue) => UploadingFileHandler;
    reorderMedias?: (options: {
        handle: string;
        mediaUids: string[];
    }) => Promise<void>;
    deleteMedia: (options: {
        mediaUid: string;
        handle: string;
    }) => Promise<void>;
    onMediaAction?: (media: Media) => void;
    accept?: string;
    acceptFilter?: (file: File) => boolean;
    handle: string;
    /**
     * Default value is `'row'`.
     */
    direction?: "row" | "column";
    isMobile?: boolean;
    remainingMediaPlaces?: number;
    updateMediaCount?: (ev: {
        handle: string;
        count: number;
    }) => void;
    getMediaProperties?: GetMediaProperties;
    updateMediaAttachedData: SetMediaAttachedData;
    contentLanguage: string;
    userLanguage?: string;
}
export declare function MediaGallery({ getMedias, deleteMedia, httpUploadMedia, className, reorderMedias, accept, acceptFilter, handle, direction, onMediaAction, remainingMediaPlaces, updateMediaCount, isMobile, getMediaProperties, updateMediaAttachedData, contentLanguage, }: MediaGalleryProps): import("react").JSX.Element;
