import { FC } from 'react';
import { TProgressState } from '../../shared-utils/fileupload';
import { TFileAndTransfer, TFileId, TItemRenderer, TQueueItemOperation, TQueueOperationContext } from './types';
/**
 * Re-export so that external consumers who imported `getProgressState` from
 * this module keep working. Internal code should prefer the shared import.
 */
export declare const getProgressState: (progress: TFileAndTransfer["progress"]) => TProgressState;
/** Build a stable `TQueueOperationContext` for the given file + operation pair. */
export declare const buildOperationContext: ({ operation, transferItem, inputName, disabled, activatedOperation, onActivate, onClose, buildAttributeAccessors, }: {
    operation: TQueueItemOperation;
    transferItem: TFileAndTransfer;
    inputName: string;
    disabled: boolean;
    activatedOperation?: TQueueItemOperation;
    onActivate: (fileId: TFileId, operation: TQueueItemOperation) => void;
    onClose: (fileId: TFileId) => void;
    buildAttributeAccessors: (fileId: TFileId) => Pick<TQueueOperationContext, "getAttribute" | "setAttribute">;
}) => TQueueOperationContext;
interface ICommonContentProps {
    transferItem: TFileAndTransfer;
    operations: TQueueItemOperation[];
    activatedOperation?: TQueueItemOperation;
    inputName: string;
    disabled: boolean;
    onActivate: (fileId: TFileId, operation: TQueueItemOperation) => void;
    onClose: (fileId: TFileId) => void;
    buildAttributeAccessors: (fileId: TFileId) => Pick<TQueueOperationContext, 'getAttribute' | 'setAttribute'>;
}
export declare const OperationActions: FC<ICommonContentProps>;
export declare const OperationContents: FC<ICommonContentProps>;
interface IIdleStateContent extends ICommonContentProps {
    ItemRenderer: TItemRenderer;
    onPreviewClick?: () => void;
}
export declare const IdleStateContent: FC<IIdleStateContent>;
interface IQueueItemContent extends ICommonContentProps {
    ItemRenderer: TItemRenderer;
    enableImagePreview: boolean;
    onCancelTransfer: (fileId: string) => void;
    onOpenPreview: (fileId: TFileId) => void;
}
export declare const QueueItemContent: FC<IQueueItemContent>;
export {};
