import { type CSSProperties } from 'react'; import type { ArkmeContentBlock } from '../types.js'; import { type ArkmeFileReception } from '../file-transfer-contract.js'; export declare const arkmeLocalFileUrl: (ref: string, download?: boolean) => string; export declare function arkmeFileSize(size: number): string; export declare function arkmeCanPreviewFile(block: ArkmeContentBlock): boolean; export declare function useArkmeOriginal(block: ArkmeContentBlock | undefined, autoReceive?: boolean, refreshKey?: unknown): { reception: ArkmeFileReception; localRef: string | undefined; receive: () => void; }; export type ArkmeFileActionNoticeKind = 'progress' | 'success' | 'error'; export interface ArkmeFileActionNotice { message: string; kind: ArkmeFileActionNoticeKind; } export type ArkmeFileActionNoticeHandler = (notice: ArkmeFileActionNotice) => void; export declare function useArkmeFileActionNotice(durationMs?: number): { notice: ArkmeFileActionNotice | undefined; showNotice: (next: ArkmeFileActionNotice) => void; clearNotice: () => void; }; export declare function ArkmeFileActionToast({ notice, style }: { notice: ArkmeFileActionNotice | undefined; style?: CSSProperties | undefined; }): import("react").JSX.Element | null; export declare function arkmeClipboardImageBlob(blob: Blob): Promise; export declare function ArkmeFileActionNavButton({ label, direction, disabled, onClick }: { label: string; direction: 'left' | 'right'; disabled: boolean; onClick: () => void; }): import("react").JSX.Element; export declare function ArkmeFileActions({ block, original, copySourceUrl, onImageCopyNotice, onDownloadNotice, showDownloadStatus, hideDownloadAfterSave, style }: { block: ArkmeContentBlock; original: ReturnType; copySourceUrl?: string | undefined; onImageCopyNotice?: ArkmeFileActionNoticeHandler | undefined; onDownloadNotice?: ArkmeFileActionNoticeHandler | undefined; showDownloadStatus?: boolean; hideDownloadAfterSave?: boolean; style?: CSSProperties | undefined; }): import("react").JSX.Element; export interface ArkmePreviewNavigation { previous?: () => void; next?: () => void; } export declare function ArkmeFileViewer({ block, onClose, blocks, onSelect, openLocalFile, forceDownload, navigation }: { navigation?: ArkmePreviewNavigation | undefined; block: ArkmeContentBlock; onClose: () => void; blocks?: ArkmeContentBlock[]; onSelect?: (block: ArkmeContentBlock) => void; openLocalFile?: boolean; forceDownload?: boolean; }): import("react").ReactPortal; //# sourceMappingURL=ArkmeFileViewer.d.ts.map