import { Attachment, AuthParams, ContentType, FetchStateAndError, ID, Transaction, TransactionID } from '@zeniai/client-epic-state';
import { ThreadMetadata } from '../../commentsAndNotes/utils/CollaborationTypes';
import { DisableMode } from '../../formElements/common/common';
export interface TransactionLineMemoAndAttachmentProps {
    attachments: Attachment[];
    authParams: AuthParams;
    deleteStatusByAttachmentName: Record<string, FetchStateAndError>;
    sectionId: string;
    transaction: Transaction;
    transactionAttachmentsEndpointToFetch: string;
    attachmentIdsBeingDownloaded?: string[];
    attachmentIdsBeingUploaded?: string[];
    entityId?: ID;
    isDisabled?: DisableMode;
    isQuickViewMode?: boolean;
    isTransactionCommentingEnabled?: boolean;
    memo?: string;
    onDeleteAttachment: (attachmentFileName: string) => void;
    onAttachmentClick?: (attachment: Attachment) => void;
    onUploadAttachment?: (fileInfo: Blob, fileName: string, transactionId: TransactionID, attachmentIndex: number) => void;
}
export declare const AttachmentIcon: ({ contentType }: {
    contentType?: ContentType;
}) => import("react/jsx-runtime").JSX.Element;
export declare const MemoElement: ({ sectionId, isJournalEntry, memo, isDisabled, canComment, entityId, roomId, companyId, companyName, commonMetaData, fieldThreadTargetElement, }: {
    isJournalEntry: boolean;
    sectionId: string;
    canComment?: boolean;
    commonMetaData?: Partial<ThreadMetadata>;
    companyId?: string;
    companyName?: string;
    entityId?: ID;
    fieldThreadTargetElement?: HTMLElement | null;
    isDisabled?: DisableMode;
    memo?: string;
    roomId?: ID;
}) => import("react/jsx-runtime").JSX.Element;
export declare const AttachmentElement: ({ transaction, attachments, authParams, transactionAttachmentsEndpointToFetch, deleteStatusByAttachmentName, attachmentIdsBeingDownloaded, attachmentIdsBeingUploaded, isDisabled, isQuickViewMode, onClick, onDeleteAttachment, onUploadAttachment, isJournalEntry, }: {
    attachments: Attachment[];
    authParams: AuthParams;
    deleteStatusByAttachmentName: Record<string, FetchStateAndError>;
    isJournalEntry: boolean;
    transaction: Transaction;
    transactionAttachmentsEndpointToFetch: string;
    attachmentIdsBeingDownloaded?: string[];
    attachmentIdsBeingUploaded?: string[];
    isDisabled?: DisableMode;
    isQuickViewMode?: boolean;
    onDeleteAttachment: (attachmentFileName: string) => void;
    onClick?: (attachment: Attachment) => void;
    onUploadAttachment?: (fileInfo: Blob, fileName: string, transactionId: TransactionID, attachmentIndex: number) => void;
}) => import("react/jsx-runtime").JSX.Element;
declare const TransactionLineMemoAndAttachment: ({ transaction, memo, attachments, sectionId, attachmentIdsBeingDownloaded, attachmentIdsBeingUploaded, isDisabled, isQuickViewMode, authParams, deleteStatusByAttachmentName, onDeleteAttachment, transactionAttachmentsEndpointToFetch, onAttachmentClick, onUploadAttachment, isTransactionCommentingEnabled, entityId, }: Readonly<TransactionLineMemoAndAttachmentProps>) => import("react/jsx-runtime").JSX.Element;
export default TransactionLineMemoAndAttachment;
