/**
 * ArtifactDisplay Component
 *
 * Universal content renderer for blockchain artifacts (ordinals, inscriptions, files)
 * Supports images, videos, audio, HTML, text, JSON, SVG, and more
 * Uses BitcoinImage component for blockchain URL processing
 */
import React from "react";
export declare enum ArtifactType {
    Image = "image",
    Video = "video",
    Audio = "audio",
    HTML = "html",
    Text = "text",
    JSON = "json",
    SVG = "svg",
    PDF = "pdf",
    Model = "model",
    Unknown = "unknown"
}
export interface ArtifactData {
    /** The URL or blockchain reference to the artifact */
    src: string;
    /** Content type (MIME type) */
    contentType?: string;
    /** Artifact type (auto-detected if not provided) */
    type?: ArtifactType;
    /** Size in bytes */
    size?: number;
    /** Display name */
    name?: string;
    /** Description */
    description?: string;
    /** Transaction ID (for blockchain artifacts) */
    txid?: string;
    /** Output index */
    vout?: number;
    /** Inscription number */
    number?: string | number;
    /** Additional metadata */
    metadata?: Record<string, unknown>;
}
export interface ArtifactDisplayProps {
    /** Artifact data */
    artifact: ArtifactData;
    /** Display size */
    size?: number;
    /** Maximum width */
    maxWidth?: number;
    /** Whether to show controls/footer */
    showControls?: boolean;
    /** Whether to allow zooming */
    allowZoom?: boolean;
    /** Whether to show metadata */
    showMetadata?: boolean;
    /** Loading state */
    loading?: boolean;
    /** Error state */
    error?: string;
    /** Custom CSS classes */
    className?: string;
    /** Click handler */
    onClick?: (artifact: ArtifactData) => void;
    /** Download handler */
    onDownload?: (artifact: ArtifactData) => void;
    /** Share handler */
    onShare?: (artifact: ArtifactData) => void;
    /** Custom fallback component */
    fallback?: React.ReactNode;
}
export declare function ArtifactDisplay({ artifact, size, maxWidth, showControls, allowZoom, showMetadata, loading, error, className, onClick, onDownload, onShare, fallback, }: ArtifactDisplayProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=ArtifactDisplay.d.ts.map