import { type CSSProperties } from 'react'; import { type ObjectFit } from '../../constants'; import { type FileMetadata, type FileUploaderQueueLimitBehaviorType, type Validation } from '../../types'; import { FileUploaderCropCSS } from './constants'; export interface FileUploaderStyleProps extends Validation { imageObjectFit?: (typeof ObjectFit)[keyof typeof ObjectFit]; isDisabled?: boolean; isDisabledByQueueLimitBehavior?: boolean; isDragAndDropSupported?: boolean; isDragging?: boolean; isDropZoneHidden?: boolean; isFluid?: boolean; isLabelHidden?: boolean; meta?: FileMetadata; queueLimitBehavior?: FileUploaderQueueLimitBehaviorType; } type ImageCropCSS = { [FileUploaderCropCSS.TOP]?: string; [FileUploaderCropCSS.LEFT]?: string; [FileUploaderCropCSS.WIDTH]?: string; [FileUploaderCropCSS.HEIGHT]?: string; } & CSSProperties; type ImageObjectFit = { '--file-uploader-attachment-image-object-fit': string; }; export interface FileUploaderStyleReturn { classProps: { root: string; input: { root: string; label: string; input: string; dropLabel: string; helper: string; link: string; validationText: string; dropZone: { root: string; label: string; }; }; list: string; attachment: { root: string; button: string; name: string; image: string; slot: string; }; imageCropStyles?: ImageCropCSS; attachmentStyles?: ImageObjectFit; }; } export declare const useFileUploaderStyleProps: (props?: FileUploaderStyleProps) => FileUploaderStyleReturn; export {};