interface HeroImageUploaderProps { /** Current image URL if one already exists */ imageUrl?: string; /** Callback fired with new image URL (or undefined if removed) */ onChange: (url: string | undefined) => void; /** Upload endpoint (required) */ uploadEndpoint: string; /** Height of drop-zone. Number treated as pixels, string passed directly (e.g. '100%') */ height?: number | string; /** Image object-fit, defaults to cover */ objectFit?: 'cover' | 'contain' | 'fill' | 'none' | 'scale-down'; /** Show a replace/upload button overlay in addition to remove (default true for parity with blog editor) */ showReplaceButton?: boolean; /** If true, skip the actual upload and just return a base64 data URL preview. Useful for unauthenticated flows – the caller can upload later. */ deferUpload?: boolean; /** Optional custom upload handler for authenticated uploads. If provided, this will be used instead of the default fetch */ onUpload?: (file: File) => Promise; /** Optional custom delete handler for authenticated deletion. If provided, this will be used instead of just clearing the image */ onDelete?: () => Promise; } /** * Reusable dashed hero-style image uploader identical to Blog Editor's hero picker. * Handles client-side validation (JPEG/PNG/WebP/GIF up to 5 MB), upload, preview & removal. */ export declare function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height, objectFit, showReplaceButton, deferUpload, onUpload, onDelete }: HeroImageUploaderProps): import("react").JSX.Element; export {}; //# sourceMappingURL=hero-image-uploader.d.ts.map