import "../assets/styles/index.scss";
import type { Image, Media } from "@paroicms/public-anywhere-lib";
import type { GetMediaProperties, SetMediaAttachedData } from "./gallery-types.js";
import type { UploadingFile } from "./helpers/internal.types.js";
import type { UploadLimitManager } from "./helpers/upload-handler.js";
export interface MediaGalleryProps {
    className?: string;
    getMedias: (handle: string) => Promise<(Media | Image)[]>;
    reorderMedias?: (options: {
        handle: string;
        mediaUids: string[];
    }) => Promise<void>;
    deleteMedia: (options: {
        mediaUid: string;
        handle: string;
    }) => Promise<void>;
    onMediaAction?: (media: Media) => void;
    accept?: string;
    handle: string;
    /**
     * Default value is `'row'`.
     */
    direction?: "row" | "column";
    isMobile?: boolean;
    limitManager?: UploadLimitManager;
    getMediaProperties?: GetMediaProperties;
    updateMediaAttachedData: SetMediaAttachedData;
    contentLanguage: string;
    userLanguage?: string;
    uploadFiles: (fileList: File[]) => Promise<(Media | Image | undefined)[]>;
    uploadingFiles: UploadingFile[];
    refreshMedias: () => Promise<void>;
    medias: (Media | Image)[];
}
export declare function MediaGallery({ deleteMedia, className, reorderMedias, accept, handle, direction, onMediaAction, limitManager, isMobile, getMediaProperties, updateMediaAttachedData, contentLanguage, uploadFiles, uploadingFiles, refreshMedias, medias, }: MediaGalleryProps): import("react").JSX.Element;
