import type { Image, Media } from "@paroicms/public-anywhere-lib";
import type { HttpUploadMediaValue, SetMediaAttachedData } from "./gallery-types.js";
import type { UploadingFileHandler } from "./helpers/http-upload.js";
import { type UploadLimitManager } from "./helpers/upload-handler.js";
export interface SingleMediaProps {
    mediaHandle: string;
    getMedia: (mediaHandle: string) => Promise<Media | Image | undefined>;
    getMediaByUid: (mediaUid: string) => Promise<Media | Image>;
    httpUploadMedia: ({ file, handle, attachedData, }: HttpUploadMediaValue) => UploadingFileHandler<Media | Image>;
    deleteMedia?: (mediaHandle: string) => Promise<void>;
    accept?: string;
    acceptFilter?: (file: File) => boolean;
    label?: string;
    limitManager?: UploadLimitManager;
    isMobile?: boolean;
    updateMediaAttachedData: SetMediaAttachedData;
    contentLanguage: string;
}
export declare function SingleMedia({ mediaHandle, getMedia, getMediaByUid, httpUploadMedia, deleteMedia, accept, acceptFilter, label, limitManager, isMobile, updateMediaAttachedData, contentLanguage, }: SingleMediaProps): import("react").JSX.Element;
