import type { IViewBased } from "jodit/esm/types/index";
import type { IAIArtifact } from "../../interface/index";
import { UIElement } from "jodit/esm/core/ui/index";
export declare class UIArtifact extends UIElement<IViewBased> {
    className(): string;
    readonly artifact: IAIArtifact;
    constructor(view: IViewBased, artifact: IAIArtifact);
    protected onReady(): void;
    /**
     * Render artifact based on its type
     */
    private renderArtifact;
    /**
     * Create status indicator
     */
    private createStatusIndicator;
    /**
     * Render loading state
     */
    private renderLoading;
    /**
     * Render error state
     */
    private renderError;
    /**
     * Render image artifact
     */
    private renderImage;
    /**
     * Render audio artifact
     */
    private renderAudio;
    /**
     * Render file artifact
     */
    private renderFile;
    /**
     * Render JSON artifact
     */
    private renderJSON;
    /**
     * Render other/unknown artifact type
     */
    private renderOther;
    /**
     * Format file size
     */
    private formatFileSize;
    /**
     * Update artifact (for streaming or status updates)
     */
    updateArtifact(artifact: IAIArtifact): void;
}
