import type React from 'react';
import type { DivAttributes } from '../_utils/types';
import type { LayoutVariant, ThumbnailProps } from './Thumbnail.types';
export declare const useThumbnail: ({ selected, disabled, clickable, focused, hasCaptionPlaceholder, src, filename: filename_, size, label, name, caption, onChange, value, ...props }: ThumbnailProps<'checkbox'> | ThumbnailProps<'figure'> | ThumbnailProps<undefined>) => {
    label: string;
    caption: string;
    selected: boolean;
    disabled: boolean;
    clickable: boolean;
    focused: boolean;
    isImageURL: boolean;
    hasCaptionPlaceholder: boolean;
    shouldUsePlaceholder: boolean;
    src: string | File | null | undefined;
    filename: string;
    size: import("./Thumbnail.types").SizeVariant;
    layout: LayoutVariant;
    inputRef: React.RefObject<HTMLInputElement>;
    inputProps: React.InputHTMLAttributes<HTMLInputElement>;
    /**
     * Appeared 23-1-18 https://github.com/procore/core/pull/12250
     * Possible issue with types from React Aria during dependency update
     * > The inferred type of 'useThumbnail' cannot be named without a
     * > reference to '@react-aria/focus/node_modules/@react-types/shared'.
     * > This is likely not portable. A type annotation is necessary.
     */
    focusProps: DivAttributes;
    isFocusVisible: boolean;
    toggleState: import("react-stately").ToggleState;
    as: React.ElementType<any>;
    role: "figure";
    is?: string | undefined;
    slot?: string | undefined;
    title?: string | undefined;
    color?: string | undefined;
    key?: React.Key | null | undefined;
    defaultChecked?: boolean | undefined;
    defaultValue?: string | number | readonly string[] | undefined;
    suppressContentEditableWarning?: boolean | undefined;
    suppressHydrationWarning?: boolean | undefined;
    accessKey?: string | undefined;
    autoFocus?: boolean | undefined;
    contentEditable?: "inherit" | (boolean | "true" | "false") | undefined;
    contextMenu?: string | undefined;
    dir?: string | undefined;
    draggable?: (boolean | "true" | "false") | undefined;
    enterKeyHint?: "search" | "enter" | "done" | "go" | "next" | "previous" | "send" | undefined;
    hidden?: boolean | undefined;
    id?: string | undefined;
    lang?: string | undefined;
    nonce?: string | undefined;
    placeholder?: string | undefined;
    spellCheck?: (boolean | "true" | "false") | undefined;
    translate?: "yes" | "no" | undefined;
    radioGroup?: string | undefined;
    about?: string | undefined;
    content?: string | undefined;
    datatype?: string | undefined;
    inlist?: any;
    prefix?: string | undefined;
    property?: string | undefined;
    rel?: string | undefined;
    resource?: string | undefined;
    rev?: string | undefined;
    typeof?: string | undefined;
    vocab?: string | undefined;
    autoCapitalize?: string | undefined;
    autoCorrect?: string | undefined;
    autoSave?: string | undefined;
    itemProp?: string | undefined;
    itemScope?: boolean | undefined;
    itemType?: string | undefined;
    itemID?: string | undefined;
    itemRef?: string | undefined;
    results?: number | undefined;
    security?: string | undefined;
    unselectable?: "on" | "off" | undefined;
    inputMode?: "search" | "text" | "none" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
    "aria-activedescendant"?: string | undefined;
    "aria-atomic"?: (boolean | "true" | "false") | undefined;
    "aria-autocomplete"?: "none" | "list" | "inline" | "both" | undefined;
    "aria-busy"?: (boolean | "true" | "false") | undefined;
    "aria-checked"?: boolean | "true" | "false" | "mixed" | undefined;
    "aria-colcount"?: number | undefined;
    "aria-colindex"?: number | undefined;
    "aria-colspan"?: number | undefined;
    "aria-controls"?: string | undefined;
    "aria-current"?: boolean | "time" | "true" | "false" | "step" | "date" | "page" | "location" | undefined;
    "aria-describedby"?: string | undefined;
    "aria-details"?: string | undefined;
    "aria-disabled"?: (boolean | "true" | "false") | undefined;
    "aria-dropeffect"?: "link" | "none" | "copy" | "execute" | "move" | "popup" | undefined;
    "aria-errormessage"?: string | undefined;
    "aria-expanded"?: (boolean | "true" | "false") | undefined;
    "aria-flowto"?: string | undefined;
    "aria-grabbed"?: (boolean | "true" | "false") | undefined;
    "aria-haspopup"?: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree" | undefined;
    "aria-hidden"?: (boolean | "true" | "false") | undefined;
    "aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
    "aria-keyshortcuts"?: string | undefined;
    "aria-label"?: string | undefined;
    "aria-labelledby"?: string | undefined;
    "aria-level"?: number | undefined;
    "aria-live"?: "off" | "assertive" | "polite" | undefined;
    "aria-modal"?: (boolean | "true" | "false") | undefined;
    "aria-multiline"?: (boolean | "true" | "false") | undefined;
    "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
    "aria-orientation"?: "horizontal" | "vertical" | undefined;
    "aria-owns"?: string | undefined;
    "aria-placeholder"?: string | undefined;
    "aria-posinset"?: number | undefined;
    "aria-pressed"?: boolean | "true" | "false" | "mixed" | undefined;
    "aria-readonly"?: (boolean | "true" | "false") | undefined;
    "aria-relevant"?: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
    "aria-required"?: (boolean | "true" | "false") | undefined;
    "aria-roledescription"?: string | undefined;
    "aria-rowcount"?: number | undefined;
    "aria-rowindex"?: number | undefined;
    "aria-rowspan"?: number | undefined;
    "aria-selected"?: (boolean | "true" | "false") | undefined;
    "aria-setsize"?: number | undefined;
    "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
    "aria-valuemax"?: number | undefined;
    "aria-valuemin"?: number | undefined;
    "aria-valuenow"?: number | undefined;
    "aria-valuetext"?: string | undefined;
    dangerouslySetInnerHTML?: {
        __html: string | TrustedHTML;
    } | undefined;
    onCopy?: React.ClipboardEventHandler<HTMLElement> | undefined;
    onCopyCapture?: React.ClipboardEventHandler<HTMLElement> | undefined;
    onCut?: React.ClipboardEventHandler<HTMLElement> | undefined;
    onCutCapture?: React.ClipboardEventHandler<HTMLElement> | undefined;
    onPaste?: React.ClipboardEventHandler<HTMLElement> | undefined;
    onPasteCapture?: React.ClipboardEventHandler<HTMLElement> | undefined;
    onCompositionEnd?: React.CompositionEventHandler<HTMLElement> | undefined;
    onCompositionEndCapture?: React.CompositionEventHandler<HTMLElement> | undefined;
    onCompositionStart?: React.CompositionEventHandler<HTMLElement> | undefined;
    onCompositionStartCapture?: React.CompositionEventHandler<HTMLElement> | undefined;
    onCompositionUpdate?: React.CompositionEventHandler<HTMLElement> | undefined;
    onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLElement> | undefined;
    onFocus?: React.FocusEventHandler<HTMLElement> | undefined;
    onFocusCapture?: React.FocusEventHandler<HTMLElement> | undefined;
    onBlur?: React.FocusEventHandler<HTMLElement> | undefined;
    onBlurCapture?: React.FocusEventHandler<HTMLElement> | undefined;
    onChangeCapture?: React.FormEventHandler<HTMLElement> | undefined;
    onBeforeInput?: React.FormEventHandler<HTMLElement> | undefined;
    onBeforeInputCapture?: React.FormEventHandler<HTMLElement> | undefined;
    onInput?: React.FormEventHandler<HTMLElement> | undefined;
    onInputCapture?: React.FormEventHandler<HTMLElement> | undefined;
    onReset?: React.FormEventHandler<HTMLElement> | undefined;
    onResetCapture?: React.FormEventHandler<HTMLElement> | undefined;
    onSubmit?: React.FormEventHandler<HTMLElement> | undefined;
    onSubmitCapture?: React.FormEventHandler<HTMLElement> | undefined;
    onInvalid?: React.FormEventHandler<HTMLElement> | undefined;
    onInvalidCapture?: React.FormEventHandler<HTMLElement> | undefined;
    onLoad?: React.ReactEventHandler<HTMLElement> | undefined;
    onLoadCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onError?: React.ReactEventHandler<HTMLElement> | undefined;
    onErrorCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onKeyDown?: React.KeyboardEventHandler<HTMLElement> | undefined;
    onKeyDownCapture?: React.KeyboardEventHandler<HTMLElement> | undefined;
    onKeyPress?: React.KeyboardEventHandler<HTMLElement> | undefined;
    onKeyPressCapture?: React.KeyboardEventHandler<HTMLElement> | undefined;
    onKeyUp?: React.KeyboardEventHandler<HTMLElement> | undefined;
    onKeyUpCapture?: React.KeyboardEventHandler<HTMLElement> | undefined;
    onAbort?: React.ReactEventHandler<HTMLElement> | undefined;
    onAbortCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onCanPlay?: React.ReactEventHandler<HTMLElement> | undefined;
    onCanPlayCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onCanPlayThrough?: React.ReactEventHandler<HTMLElement> | undefined;
    onCanPlayThroughCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onDurationChange?: React.ReactEventHandler<HTMLElement> | undefined;
    onDurationChangeCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onEmptied?: React.ReactEventHandler<HTMLElement> | undefined;
    onEmptiedCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onEncrypted?: React.ReactEventHandler<HTMLElement> | undefined;
    onEncryptedCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onEnded?: React.ReactEventHandler<HTMLElement> | undefined;
    onEndedCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onLoadedData?: React.ReactEventHandler<HTMLElement> | undefined;
    onLoadedDataCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onLoadedMetadata?: React.ReactEventHandler<HTMLElement> | undefined;
    onLoadedMetadataCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onLoadStart?: React.ReactEventHandler<HTMLElement> | undefined;
    onLoadStartCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onPause?: React.ReactEventHandler<HTMLElement> | undefined;
    onPauseCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onPlay?: React.ReactEventHandler<HTMLElement> | undefined;
    onPlayCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onPlaying?: React.ReactEventHandler<HTMLElement> | undefined;
    onPlayingCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onProgress?: React.ReactEventHandler<HTMLElement> | undefined;
    onProgressCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onRateChange?: React.ReactEventHandler<HTMLElement> | undefined;
    onRateChangeCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onSeeked?: React.ReactEventHandler<HTMLElement> | undefined;
    onSeekedCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onSeeking?: React.ReactEventHandler<HTMLElement> | undefined;
    onSeekingCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onStalled?: React.ReactEventHandler<HTMLElement> | undefined;
    onStalledCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onSuspend?: React.ReactEventHandler<HTMLElement> | undefined;
    onSuspendCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onTimeUpdate?: React.ReactEventHandler<HTMLElement> | undefined;
    onTimeUpdateCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onVolumeChange?: React.ReactEventHandler<HTMLElement> | undefined;
    onVolumeChangeCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onWaiting?: React.ReactEventHandler<HTMLElement> | undefined;
    onWaitingCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onAuxClick?: React.MouseEventHandler<HTMLElement> | undefined;
    onAuxClickCapture?: React.MouseEventHandler<HTMLElement> | undefined;
    onClickCapture?: React.MouseEventHandler<HTMLElement> | undefined;
    onContextMenu?: React.MouseEventHandler<HTMLElement> | undefined;
    onContextMenuCapture?: React.MouseEventHandler<HTMLElement> | undefined;
    onDoubleClick?: React.MouseEventHandler<HTMLElement> | undefined;
    onDoubleClickCapture?: React.MouseEventHandler<HTMLElement> | undefined;
    onDrag?: React.DragEventHandler<HTMLElement> | undefined;
    onDragCapture?: React.DragEventHandler<HTMLElement> | undefined;
    onDragEnd?: React.DragEventHandler<HTMLElement> | undefined;
    onDragEndCapture?: React.DragEventHandler<HTMLElement> | undefined;
    onDragEnter?: React.DragEventHandler<HTMLElement> | undefined;
    onDragEnterCapture?: React.DragEventHandler<HTMLElement> | undefined;
    onDragExit?: React.DragEventHandler<HTMLElement> | undefined;
    onDragExitCapture?: React.DragEventHandler<HTMLElement> | undefined;
    onDragLeave?: React.DragEventHandler<HTMLElement> | undefined;
    onDragLeaveCapture?: React.DragEventHandler<HTMLElement> | undefined;
    onDragOver?: React.DragEventHandler<HTMLElement> | undefined;
    onDragOverCapture?: React.DragEventHandler<HTMLElement> | undefined;
    onDragStart?: React.DragEventHandler<HTMLElement> | undefined;
    onDragStartCapture?: React.DragEventHandler<HTMLElement> | undefined;
    onDrop?: React.DragEventHandler<HTMLElement> | undefined;
    onDropCapture?: React.DragEventHandler<HTMLElement> | undefined;
    onMouseDown?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseDownCapture?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseEnter?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseLeave?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseMove?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseMoveCapture?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseOut?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseOutCapture?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseOver?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseOverCapture?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseUp?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseUpCapture?: React.MouseEventHandler<HTMLElement> | undefined;
    onSelect?: React.ReactEventHandler<HTMLElement> | undefined;
    onSelectCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onTouchCancel?: React.TouchEventHandler<HTMLElement> | undefined;
    onTouchCancelCapture?: React.TouchEventHandler<HTMLElement> | undefined;
    onTouchEnd?: React.TouchEventHandler<HTMLElement> | undefined;
    onTouchEndCapture?: React.TouchEventHandler<HTMLElement> | undefined;
    onTouchMove?: React.TouchEventHandler<HTMLElement> | undefined;
    onTouchMoveCapture?: React.TouchEventHandler<HTMLElement> | undefined;
    onTouchStart?: React.TouchEventHandler<HTMLElement> | undefined;
    onTouchStartCapture?: React.TouchEventHandler<HTMLElement> | undefined;
    onPointerDown?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerDownCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerMove?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerMoveCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerUp?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerUpCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerCancel?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerCancelCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerEnter?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerEnterCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerLeave?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerLeaveCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerOver?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerOverCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerOut?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerOutCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onGotPointerCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onGotPointerCaptureCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onLostPointerCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onScroll?: React.UIEventHandler<HTMLElement> | undefined;
    onScrollCapture?: React.UIEventHandler<HTMLElement> | undefined;
    onWheel?: React.WheelEventHandler<HTMLElement> | undefined;
    onWheelCapture?: React.WheelEventHandler<HTMLElement> | undefined;
    onAnimationStart?: React.AnimationEventHandler<HTMLElement> | undefined;
    onAnimationStartCapture?: React.AnimationEventHandler<HTMLElement> | undefined;
    onAnimationEnd?: React.AnimationEventHandler<HTMLElement> | undefined;
    onAnimationEndCapture?: React.AnimationEventHandler<HTMLElement> | undefined;
    onAnimationIteration?: React.AnimationEventHandler<HTMLElement> | undefined;
    onAnimationIterationCapture?: React.AnimationEventHandler<HTMLElement> | undefined;
    onTransitionEnd?: React.TransitionEventHandler<HTMLElement> | undefined;
    onTransitionEndCapture?: React.TransitionEventHandler<HTMLElement> | undefined;
    alt: string;
    error?: boolean | undefined;
    variant?: import("./ThumbnailDocumentIcon").ThumbnailDocumentIconVariant | undefined;
    tabIndex?: number | undefined;
    qa?: import("./Thumbnail.types").QaTags | undefined;
    onClick?: ((e: React.MouseEvent<Element, MouseEvent>) => void) | undefined;
    children?: React.ReactNode;
    className?: string | undefined;
    style?: React.CSSProperties | undefined;
    ref?: ((instance: HTMLElement | null) => void) | React.RefObject<HTMLElement> | null | undefined;
} | {
    label: string;
    caption: string;
    selected: boolean;
    disabled: boolean;
    clickable: boolean;
    focused: boolean;
    isImageURL: boolean;
    hasCaptionPlaceholder: boolean;
    shouldUsePlaceholder: boolean;
    src: string | File | null | undefined;
    filename: string;
    size: import("./Thumbnail.types").SizeVariant;
    layout: LayoutVariant;
    inputRef: React.RefObject<HTMLInputElement>;
    inputProps: React.InputHTMLAttributes<HTMLInputElement>;
    /**
     * Appeared 23-1-18 https://github.com/procore/core/pull/12250
     * Possible issue with types from React Aria during dependency update
     * > The inferred type of 'useThumbnail' cannot be named without a
     * > reference to '@react-aria/focus/node_modules/@react-types/shared'.
     * > This is likely not portable. A type annotation is necessary.
     */
    focusProps: DivAttributes;
    isFocusVisible: boolean;
    toggleState: import("react-stately").ToggleState;
    as: string;
    role: "figure";
    is?: string | undefined;
    slot?: string | undefined;
    title?: string | undefined;
    color?: string | undefined;
    key?: React.Key | null | undefined;
    defaultChecked?: boolean | undefined;
    defaultValue?: string | number | readonly string[] | undefined;
    suppressContentEditableWarning?: boolean | undefined;
    suppressHydrationWarning?: boolean | undefined;
    accessKey?: string | undefined;
    autoFocus?: boolean | undefined;
    contentEditable?: "inherit" | (boolean | "true" | "false") | undefined;
    contextMenu?: string | undefined;
    dir?: string | undefined;
    draggable?: (boolean | "true" | "false") | undefined;
    enterKeyHint?: "search" | "enter" | "done" | "go" | "next" | "previous" | "send" | undefined;
    hidden?: boolean | undefined;
    id?: string | undefined;
    lang?: string | undefined;
    nonce?: string | undefined;
    placeholder?: string | undefined;
    spellCheck?: (boolean | "true" | "false") | undefined;
    translate?: "yes" | "no" | undefined;
    radioGroup?: string | undefined;
    about?: string | undefined;
    content?: string | undefined;
    datatype?: string | undefined;
    inlist?: any;
    prefix?: string | undefined;
    property?: string | undefined;
    rel?: string | undefined;
    resource?: string | undefined;
    rev?: string | undefined;
    typeof?: string | undefined;
    vocab?: string | undefined;
    autoCapitalize?: string | undefined;
    autoCorrect?: string | undefined;
    autoSave?: string | undefined;
    itemProp?: string | undefined;
    itemScope?: boolean | undefined;
    itemType?: string | undefined;
    itemID?: string | undefined;
    itemRef?: string | undefined;
    results?: number | undefined;
    security?: string | undefined;
    unselectable?: "on" | "off" | undefined;
    inputMode?: "search" | "text" | "none" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
    "aria-activedescendant"?: string | undefined;
    "aria-atomic"?: (boolean | "true" | "false") | undefined;
    "aria-autocomplete"?: "none" | "list" | "inline" | "both" | undefined;
    "aria-busy"?: (boolean | "true" | "false") | undefined;
    "aria-checked"?: boolean | "true" | "false" | "mixed" | undefined;
    "aria-colcount"?: number | undefined;
    "aria-colindex"?: number | undefined;
    "aria-colspan"?: number | undefined;
    "aria-controls"?: string | undefined;
    "aria-current"?: boolean | "time" | "true" | "false" | "step" | "date" | "page" | "location" | undefined;
    "aria-describedby"?: string | undefined;
    "aria-details"?: string | undefined;
    "aria-disabled"?: (boolean | "true" | "false") | undefined;
    "aria-dropeffect"?: "link" | "none" | "copy" | "execute" | "move" | "popup" | undefined;
    "aria-errormessage"?: string | undefined;
    "aria-expanded"?: (boolean | "true" | "false") | undefined;
    "aria-flowto"?: string | undefined;
    "aria-grabbed"?: (boolean | "true" | "false") | undefined;
    "aria-haspopup"?: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree" | undefined;
    "aria-hidden"?: (boolean | "true" | "false") | undefined;
    "aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
    "aria-keyshortcuts"?: string | undefined;
    "aria-label"?: string | undefined;
    "aria-labelledby"?: string | undefined;
    "aria-level"?: number | undefined;
    "aria-live"?: "off" | "assertive" | "polite" | undefined;
    "aria-modal"?: (boolean | "true" | "false") | undefined;
    "aria-multiline"?: (boolean | "true" | "false") | undefined;
    "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
    "aria-orientation"?: "horizontal" | "vertical" | undefined;
    "aria-owns"?: string | undefined;
    "aria-placeholder"?: string | undefined;
    "aria-posinset"?: number | undefined;
    "aria-pressed"?: boolean | "true" | "false" | "mixed" | undefined;
    "aria-readonly"?: (boolean | "true" | "false") | undefined;
    "aria-relevant"?: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
    "aria-required"?: (boolean | "true" | "false") | undefined;
    "aria-roledescription"?: string | undefined;
    "aria-rowcount"?: number | undefined;
    "aria-rowindex"?: number | undefined;
    "aria-rowspan"?: number | undefined;
    "aria-selected"?: (boolean | "true" | "false") | undefined;
    "aria-setsize"?: number | undefined;
    "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
    "aria-valuemax"?: number | undefined;
    "aria-valuemin"?: number | undefined;
    "aria-valuenow"?: number | undefined;
    "aria-valuetext"?: string | undefined;
    dangerouslySetInnerHTML?: {
        __html: string | TrustedHTML;
    } | undefined;
    onCopy?: React.ClipboardEventHandler<HTMLElement> | undefined;
    onCopyCapture?: React.ClipboardEventHandler<HTMLElement> | undefined;
    onCut?: React.ClipboardEventHandler<HTMLElement> | undefined;
    onCutCapture?: React.ClipboardEventHandler<HTMLElement> | undefined;
    onPaste?: React.ClipboardEventHandler<HTMLElement> | undefined;
    onPasteCapture?: React.ClipboardEventHandler<HTMLElement> | undefined;
    onCompositionEnd?: React.CompositionEventHandler<HTMLElement> | undefined;
    onCompositionEndCapture?: React.CompositionEventHandler<HTMLElement> | undefined;
    onCompositionStart?: React.CompositionEventHandler<HTMLElement> | undefined;
    onCompositionStartCapture?: React.CompositionEventHandler<HTMLElement> | undefined;
    onCompositionUpdate?: React.CompositionEventHandler<HTMLElement> | undefined;
    onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLElement> | undefined;
    onFocus?: React.FocusEventHandler<HTMLElement> | undefined;
    onFocusCapture?: React.FocusEventHandler<HTMLElement> | undefined;
    onBlur?: React.FocusEventHandler<HTMLElement> | undefined;
    onBlurCapture?: React.FocusEventHandler<HTMLElement> | undefined;
    onChangeCapture?: React.FormEventHandler<HTMLElement> | undefined;
    onBeforeInput?: React.FormEventHandler<HTMLElement> | undefined;
    onBeforeInputCapture?: React.FormEventHandler<HTMLElement> | undefined;
    onInput?: React.FormEventHandler<HTMLElement> | undefined;
    onInputCapture?: React.FormEventHandler<HTMLElement> | undefined;
    onReset?: React.FormEventHandler<HTMLElement> | undefined;
    onResetCapture?: React.FormEventHandler<HTMLElement> | undefined;
    onSubmit?: React.FormEventHandler<HTMLElement> | undefined;
    onSubmitCapture?: React.FormEventHandler<HTMLElement> | undefined;
    onInvalid?: React.FormEventHandler<HTMLElement> | undefined;
    onInvalidCapture?: React.FormEventHandler<HTMLElement> | undefined;
    onLoad?: React.ReactEventHandler<HTMLElement> | undefined;
    onLoadCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onError?: React.ReactEventHandler<HTMLElement> | undefined;
    onErrorCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onKeyDown?: React.KeyboardEventHandler<HTMLElement> | undefined;
    onKeyDownCapture?: React.KeyboardEventHandler<HTMLElement> | undefined;
    onKeyPress?: React.KeyboardEventHandler<HTMLElement> | undefined;
    onKeyPressCapture?: React.KeyboardEventHandler<HTMLElement> | undefined;
    onKeyUp?: React.KeyboardEventHandler<HTMLElement> | undefined;
    onKeyUpCapture?: React.KeyboardEventHandler<HTMLElement> | undefined;
    onAbort?: React.ReactEventHandler<HTMLElement> | undefined;
    onAbortCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onCanPlay?: React.ReactEventHandler<HTMLElement> | undefined;
    onCanPlayCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onCanPlayThrough?: React.ReactEventHandler<HTMLElement> | undefined;
    onCanPlayThroughCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onDurationChange?: React.ReactEventHandler<HTMLElement> | undefined;
    onDurationChangeCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onEmptied?: React.ReactEventHandler<HTMLElement> | undefined;
    onEmptiedCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onEncrypted?: React.ReactEventHandler<HTMLElement> | undefined;
    onEncryptedCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onEnded?: React.ReactEventHandler<HTMLElement> | undefined;
    onEndedCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onLoadedData?: React.ReactEventHandler<HTMLElement> | undefined;
    onLoadedDataCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onLoadedMetadata?: React.ReactEventHandler<HTMLElement> | undefined;
    onLoadedMetadataCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onLoadStart?: React.ReactEventHandler<HTMLElement> | undefined;
    onLoadStartCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onPause?: React.ReactEventHandler<HTMLElement> | undefined;
    onPauseCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onPlay?: React.ReactEventHandler<HTMLElement> | undefined;
    onPlayCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onPlaying?: React.ReactEventHandler<HTMLElement> | undefined;
    onPlayingCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onProgress?: React.ReactEventHandler<HTMLElement> | undefined;
    onProgressCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onRateChange?: React.ReactEventHandler<HTMLElement> | undefined;
    onRateChangeCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onSeeked?: React.ReactEventHandler<HTMLElement> | undefined;
    onSeekedCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onSeeking?: React.ReactEventHandler<HTMLElement> | undefined;
    onSeekingCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onStalled?: React.ReactEventHandler<HTMLElement> | undefined;
    onStalledCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onSuspend?: React.ReactEventHandler<HTMLElement> | undefined;
    onSuspendCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onTimeUpdate?: React.ReactEventHandler<HTMLElement> | undefined;
    onTimeUpdateCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onVolumeChange?: React.ReactEventHandler<HTMLElement> | undefined;
    onVolumeChangeCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onWaiting?: React.ReactEventHandler<HTMLElement> | undefined;
    onWaitingCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onAuxClick?: React.MouseEventHandler<HTMLElement> | undefined;
    onAuxClickCapture?: React.MouseEventHandler<HTMLElement> | undefined;
    onClickCapture?: React.MouseEventHandler<HTMLElement> | undefined;
    onContextMenu?: React.MouseEventHandler<HTMLElement> | undefined;
    onContextMenuCapture?: React.MouseEventHandler<HTMLElement> | undefined;
    onDoubleClick?: React.MouseEventHandler<HTMLElement> | undefined;
    onDoubleClickCapture?: React.MouseEventHandler<HTMLElement> | undefined;
    onDrag?: React.DragEventHandler<HTMLElement> | undefined;
    onDragCapture?: React.DragEventHandler<HTMLElement> | undefined;
    onDragEnd?: React.DragEventHandler<HTMLElement> | undefined;
    onDragEndCapture?: React.DragEventHandler<HTMLElement> | undefined;
    onDragEnter?: React.DragEventHandler<HTMLElement> | undefined;
    onDragEnterCapture?: React.DragEventHandler<HTMLElement> | undefined;
    onDragExit?: React.DragEventHandler<HTMLElement> | undefined;
    onDragExitCapture?: React.DragEventHandler<HTMLElement> | undefined;
    onDragLeave?: React.DragEventHandler<HTMLElement> | undefined;
    onDragLeaveCapture?: React.DragEventHandler<HTMLElement> | undefined;
    onDragOver?: React.DragEventHandler<HTMLElement> | undefined;
    onDragOverCapture?: React.DragEventHandler<HTMLElement> | undefined;
    onDragStart?: React.DragEventHandler<HTMLElement> | undefined;
    onDragStartCapture?: React.DragEventHandler<HTMLElement> | undefined;
    onDrop?: React.DragEventHandler<HTMLElement> | undefined;
    onDropCapture?: React.DragEventHandler<HTMLElement> | undefined;
    onMouseDown?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseDownCapture?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseEnter?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseLeave?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseMove?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseMoveCapture?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseOut?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseOutCapture?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseOver?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseOverCapture?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseUp?: React.MouseEventHandler<HTMLElement> | undefined;
    onMouseUpCapture?: React.MouseEventHandler<HTMLElement> | undefined;
    onSelect?: React.ReactEventHandler<HTMLElement> | undefined;
    onSelectCapture?: React.ReactEventHandler<HTMLElement> | undefined;
    onTouchCancel?: React.TouchEventHandler<HTMLElement> | undefined;
    onTouchCancelCapture?: React.TouchEventHandler<HTMLElement> | undefined;
    onTouchEnd?: React.TouchEventHandler<HTMLElement> | undefined;
    onTouchEndCapture?: React.TouchEventHandler<HTMLElement> | undefined;
    onTouchMove?: React.TouchEventHandler<HTMLElement> | undefined;
    onTouchMoveCapture?: React.TouchEventHandler<HTMLElement> | undefined;
    onTouchStart?: React.TouchEventHandler<HTMLElement> | undefined;
    onTouchStartCapture?: React.TouchEventHandler<HTMLElement> | undefined;
    onPointerDown?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerDownCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerMove?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerMoveCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerUp?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerUpCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerCancel?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerCancelCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerEnter?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerEnterCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerLeave?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerLeaveCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerOver?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerOverCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerOut?: React.PointerEventHandler<HTMLElement> | undefined;
    onPointerOutCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onGotPointerCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onGotPointerCaptureCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onLostPointerCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLElement> | undefined;
    onScroll?: React.UIEventHandler<HTMLElement> | undefined;
    onScrollCapture?: React.UIEventHandler<HTMLElement> | undefined;
    onWheel?: React.WheelEventHandler<HTMLElement> | undefined;
    onWheelCapture?: React.WheelEventHandler<HTMLElement> | undefined;
    onAnimationStart?: React.AnimationEventHandler<HTMLElement> | undefined;
    onAnimationStartCapture?: React.AnimationEventHandler<HTMLElement> | undefined;
    onAnimationEnd?: React.AnimationEventHandler<HTMLElement> | undefined;
    onAnimationEndCapture?: React.AnimationEventHandler<HTMLElement> | undefined;
    onAnimationIteration?: React.AnimationEventHandler<HTMLElement> | undefined;
    onAnimationIterationCapture?: React.AnimationEventHandler<HTMLElement> | undefined;
    onTransitionEnd?: React.TransitionEventHandler<HTMLElement> | undefined;
    onTransitionEndCapture?: React.TransitionEventHandler<HTMLElement> | undefined;
    alt: string;
    error?: boolean | undefined;
    variant?: import("./ThumbnailDocumentIcon").ThumbnailDocumentIconVariant | undefined;
    tabIndex?: number | undefined;
    qa?: import("./Thumbnail.types").QaTags | undefined;
    onClick?: ((e: React.MouseEvent<Element, MouseEvent>) => void) | undefined;
    children?: React.ReactNode;
    className?: string | undefined;
    style?: React.CSSProperties | undefined;
    ref?: ((instance: HTMLElement | null) => void) | React.RefObject<HTMLElement> | null | undefined;
} | {
    label: string;
    caption: string;
    selected: boolean;
    disabled: boolean;
    clickable: boolean;
    focused: boolean;
    isImageURL: boolean;
    hasCaptionPlaceholder: boolean;
    shouldUsePlaceholder: boolean;
    src: string | File | null | undefined;
    filename: string;
    size: import("./Thumbnail.types").SizeVariant;
    layout: LayoutVariant;
    inputRef: React.RefObject<HTMLInputElement>;
    inputProps: React.InputHTMLAttributes<HTMLInputElement>;
    /**
     * Appeared 23-1-18 https://github.com/procore/core/pull/12250
     * Possible issue with types from React Aria during dependency update
     * > The inferred type of 'useThumbnail' cannot be named without a
     * > reference to '@react-aria/focus/node_modules/@react-types/shared'.
     * > This is likely not portable. A type annotation is necessary.
     */
    focusProps: DivAttributes;
    isFocusVisible: boolean;
    toggleState: import("react-stately").ToggleState;
    as: React.ElementType<any>;
    role: "checkbox";
    is?: string | undefined;
    form?: string | undefined;
    slot?: string | undefined;
    title?: string | undefined;
    pattern?: string | undefined;
    color?: string | undefined;
    type?: React.HTMLInputTypeAttribute | undefined;
    key?: React.Key | null | undefined;
    defaultChecked?: boolean | undefined;
    defaultValue?: string | number | readonly string[] | undefined;
    suppressContentEditableWarning?: boolean | undefined;
    suppressHydrationWarning?: boolean | undefined;
    accessKey?: string | undefined;
    autoFocus?: boolean | undefined;
    contentEditable?: "inherit" | (boolean | "true" | "false") | undefined;
    contextMenu?: string | undefined;
    dir?: string | undefined;
    draggable?: (boolean | "true" | "false") | undefined;
    enterKeyHint?: "search" | "enter" | "done" | "go" | "next" | "previous" | "send" | undefined;
    hidden?: boolean | undefined;
    id?: string | undefined;
    lang?: string | undefined;
    nonce?: string | undefined;
    placeholder?: string | undefined;
    spellCheck?: (boolean | "true" | "false") | undefined;
    translate?: "yes" | "no" | undefined;
    radioGroup?: string | undefined;
    about?: string | undefined;
    content?: string | undefined;
    datatype?: string | undefined;
    inlist?: any;
    prefix?: string | undefined;
    property?: string | undefined;
    rel?: string | undefined;
    resource?: string | undefined;
    rev?: string | undefined;
    typeof?: string | undefined;
    vocab?: string | undefined;
    autoCapitalize?: string | undefined;
    autoCorrect?: string | undefined;
    autoSave?: string | undefined;
    itemProp?: string | undefined;
    itemScope?: boolean | undefined;
    itemType?: string | undefined;
    itemID?: string | undefined;
    itemRef?: string | undefined;
    results?: number | undefined;
    security?: string | undefined;
    unselectable?: "on" | "off" | undefined;
    inputMode?: "search" | "text" | "none" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
    "aria-activedescendant"?: string | undefined;
    "aria-atomic"?: (boolean | "true" | "false") | undefined;
    "aria-autocomplete"?: "none" | "list" | "inline" | "both" | undefined;
    "aria-busy"?: (boolean | "true" | "false") | undefined;
    "aria-checked"?: boolean | "true" | "false" | "mixed" | undefined;
    "aria-colcount"?: number | undefined;
    "aria-colindex"?: number | undefined;
    "aria-colspan"?: number | undefined;
    "aria-controls"?: string | undefined;
    "aria-current"?: boolean | "time" | "true" | "false" | "step" | "date" | "page" | "location" | undefined;
    "aria-describedby"?: string | undefined;
    "aria-details"?: string | undefined;
    "aria-disabled"?: (boolean | "true" | "false") | undefined;
    "aria-dropeffect"?: "link" | "none" | "copy" | "execute" | "move" | "popup" | undefined;
    "aria-errormessage"?: string | undefined;
    "aria-expanded"?: (boolean | "true" | "false") | undefined;
    "aria-flowto"?: string | undefined;
    "aria-grabbed"?: (boolean | "true" | "false") | undefined;
    "aria-haspopup"?: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree" | undefined;
    "aria-hidden"?: (boolean | "true" | "false") | undefined;
    "aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
    "aria-keyshortcuts"?: string | undefined;
    "aria-label"?: string | undefined;
    "aria-labelledby"?: string | undefined;
    "aria-level"?: number | undefined;
    "aria-live"?: "off" | "assertive" | "polite" | undefined;
    "aria-modal"?: (boolean | "true" | "false") | undefined;
    "aria-multiline"?: (boolean | "true" | "false") | undefined;
    "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
    "aria-orientation"?: "horizontal" | "vertical" | undefined;
    "aria-owns"?: string | undefined;
    "aria-placeholder"?: string | undefined;
    "aria-posinset"?: number | undefined;
    "aria-pressed"?: boolean | "true" | "false" | "mixed" | undefined;
    "aria-readonly"?: (boolean | "true" | "false") | undefined;
    "aria-relevant"?: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
    "aria-required"?: (boolean | "true" | "false") | undefined;
    "aria-roledescription"?: string | undefined;
    "aria-rowcount"?: number | undefined;
    "aria-rowindex"?: number | undefined;
    "aria-rowspan"?: number | undefined;
    "aria-selected"?: (boolean | "true" | "false") | undefined;
    "aria-setsize"?: number | undefined;
    "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
    "aria-valuemax"?: number | undefined;
    "aria-valuemin"?: number | undefined;
    "aria-valuenow"?: number | undefined;
    "aria-valuetext"?: string | undefined;
    dangerouslySetInnerHTML?: {
        __html: string | TrustedHTML;
    } | undefined;
    onCopy?: React.ClipboardEventHandler<HTMLInputElement> | undefined;
    onCopyCapture?: React.ClipboardEventHandler<HTMLInputElement> | undefined;
    onCut?: React.ClipboardEventHandler<HTMLInputElement> | undefined;
    onCutCapture?: React.ClipboardEventHandler<HTMLInputElement> | undefined;
    onPaste?: React.ClipboardEventHandler<HTMLInputElement> | undefined;
    onPasteCapture?: React.ClipboardEventHandler<HTMLInputElement> | undefined;
    onCompositionEnd?: React.CompositionEventHandler<HTMLInputElement> | undefined;
    onCompositionEndCapture?: React.CompositionEventHandler<HTMLInputElement> | undefined;
    onCompositionStart?: React.CompositionEventHandler<HTMLInputElement> | undefined;
    onCompositionStartCapture?: React.CompositionEventHandler<HTMLInputElement> | undefined;
    onCompositionUpdate?: React.CompositionEventHandler<HTMLInputElement> | undefined;
    onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLInputElement> | undefined;
    onFocus?: React.FocusEventHandler<HTMLInputElement> | undefined;
    onFocusCapture?: React.FocusEventHandler<HTMLInputElement> | undefined;
    onBlur?: React.FocusEventHandler<HTMLInputElement> | undefined;
    onBlurCapture?: React.FocusEventHandler<HTMLInputElement> | undefined;
    onChangeCapture?: React.FormEventHandler<HTMLInputElement> | undefined;
    onBeforeInput?: React.FormEventHandler<HTMLInputElement> | undefined;
    onBeforeInputCapture?: React.FormEventHandler<HTMLInputElement> | undefined;
    onInput?: React.FormEventHandler<HTMLInputElement> | undefined;
    onInputCapture?: React.FormEventHandler<HTMLInputElement> | undefined;
    onReset?: React.FormEventHandler<HTMLInputElement> | undefined;
    onResetCapture?: React.FormEventHandler<HTMLInputElement> | undefined;
    onSubmit?: React.FormEventHandler<HTMLInputElement> | undefined;
    onSubmitCapture?: React.FormEventHandler<HTMLInputElement> | undefined;
    onInvalid?: React.FormEventHandler<HTMLInputElement> | undefined;
    onInvalidCapture?: React.FormEventHandler<HTMLInputElement> | undefined;
    onLoad?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onLoadCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onError?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onErrorCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onKeyDown?: React.KeyboardEventHandler<HTMLInputElement> | undefined;
    onKeyDownCapture?: React.KeyboardEventHandler<HTMLInputElement> | undefined;
    onKeyPress?: React.KeyboardEventHandler<HTMLInputElement> | undefined;
    onKeyPressCapture?: React.KeyboardEventHandler<HTMLInputElement> | undefined;
    onKeyUp?: React.KeyboardEventHandler<HTMLInputElement> | undefined;
    onKeyUpCapture?: React.KeyboardEventHandler<HTMLInputElement> | undefined;
    onAbort?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onAbortCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onCanPlay?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onCanPlayCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onCanPlayThrough?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onCanPlayThroughCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onDurationChange?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onDurationChangeCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onEmptied?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onEmptiedCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onEncrypted?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onEncryptedCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onEnded?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onEndedCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onLoadedData?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onLoadedDataCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onLoadedMetadata?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onLoadedMetadataCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onLoadStart?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onLoadStartCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onPause?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onPauseCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onPlay?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onPlayCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onPlaying?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onPlayingCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onProgress?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onProgressCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onRateChange?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onRateChangeCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onSeeked?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onSeekedCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onSeeking?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onSeekingCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onStalled?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onStalledCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onSuspend?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onSuspendCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onTimeUpdate?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onTimeUpdateCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onVolumeChange?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onVolumeChangeCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onWaiting?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onWaitingCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onAuxClick?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onAuxClickCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onClickCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onContextMenu?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onContextMenuCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onDoubleClick?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onDoubleClickCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onDrag?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragCapture?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragEnd?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragEndCapture?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragEnter?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragEnterCapture?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragExit?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragExitCapture?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragLeave?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragLeaveCapture?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragOver?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragOverCapture?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragStart?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragStartCapture?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDrop?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDropCapture?: React.DragEventHandler<HTMLInputElement> | undefined;
    onMouseDown?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseDownCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseEnter?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseLeave?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseMove?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseMoveCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseOut?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseOutCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseOver?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseOverCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseUp?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseUpCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onSelect?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onSelectCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onTouchCancel?: React.TouchEventHandler<HTMLInputElement> | undefined;
    onTouchCancelCapture?: React.TouchEventHandler<HTMLInputElement> | undefined;
    onTouchEnd?: React.TouchEventHandler<HTMLInputElement> | undefined;
    onTouchEndCapture?: React.TouchEventHandler<HTMLInputElement> | undefined;
    onTouchMove?: React.TouchEventHandler<HTMLInputElement> | undefined;
    onTouchMoveCapture?: React.TouchEventHandler<HTMLInputElement> | undefined;
    onTouchStart?: React.TouchEventHandler<HTMLInputElement> | undefined;
    onTouchStartCapture?: React.TouchEventHandler<HTMLInputElement> | undefined;
    onPointerDown?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerDownCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerMove?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerMoveCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerUp?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerUpCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerCancel?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerCancelCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerEnter?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerEnterCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerLeave?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerLeaveCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerOver?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerOverCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerOut?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerOutCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onGotPointerCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onGotPointerCaptureCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onLostPointerCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onScroll?: React.UIEventHandler<HTMLInputElement> | undefined;
    onScrollCapture?: React.UIEventHandler<HTMLInputElement> | undefined;
    onWheel?: React.WheelEventHandler<HTMLInputElement> | undefined;
    onWheelCapture?: React.WheelEventHandler<HTMLInputElement> | undefined;
    onAnimationStart?: React.AnimationEventHandler<HTMLInputElement> | undefined;
    onAnimationStartCapture?: React.AnimationEventHandler<HTMLInputElement> | undefined;
    onAnimationEnd?: React.AnimationEventHandler<HTMLInputElement> | undefined;
    onAnimationEndCapture?: React.AnimationEventHandler<HTMLInputElement> | undefined;
    onAnimationIteration?: React.AnimationEventHandler<HTMLInputElement> | undefined;
    onAnimationIterationCapture?: React.AnimationEventHandler<HTMLInputElement> | undefined;
    onTransitionEnd?: React.TransitionEventHandler<HTMLInputElement> | undefined;
    onTransitionEndCapture?: React.TransitionEventHandler<HTMLInputElement> | undefined;
    list?: string | undefined;
    height?: string | number | undefined;
    max?: string | number | undefined;
    min?: string | number | undefined;
    width?: string | number | undefined;
    formAction?: string | undefined;
    formEncType?: string | undefined;
    formMethod?: string | undefined;
    formNoValidate?: boolean | undefined;
    formTarget?: string | undefined;
    autoComplete?: string | undefined;
    accept?: string | undefined;
    capture?: boolean | "user" | "environment" | undefined;
    checked?: boolean | undefined;
    maxLength?: number | undefined;
    minLength?: number | undefined;
    multiple?: boolean | undefined;
    readOnly?: boolean | undefined;
    required?: boolean | undefined;
    step?: string | number | undefined;
    alt: string;
    error?: boolean | undefined;
    variant?: import("./ThumbnailDocumentIcon").ThumbnailDocumentIconVariant | undefined;
    tabIndex?: number | undefined;
    qa?: import("./Thumbnail.types").QaTags | undefined;
    onClick?: ((e: React.MouseEvent<Element, MouseEvent>) => void) | undefined;
    children?: React.ReactNode;
    className?: string | undefined;
    style?: React.CSSProperties | undefined;
    ref?: ((instance: HTMLInputElement | null) => void) | React.RefObject<HTMLInputElement> | null | undefined;
} | {
    label: string;
    caption: string;
    selected: boolean;
    disabled: boolean;
    clickable: boolean;
    focused: boolean;
    isImageURL: boolean;
    hasCaptionPlaceholder: boolean;
    shouldUsePlaceholder: boolean;
    src: string | File | null | undefined;
    filename: string;
    size: import("./Thumbnail.types").SizeVariant;
    layout: LayoutVariant;
    inputRef: React.RefObject<HTMLInputElement>;
    inputProps: React.InputHTMLAttributes<HTMLInputElement>;
    /**
     * Appeared 23-1-18 https://github.com/procore/core/pull/12250
     * Possible issue with types from React Aria during dependency update
     * > The inferred type of 'useThumbnail' cannot be named without a
     * > reference to '@react-aria/focus/node_modules/@react-types/shared'.
     * > This is likely not portable. A type annotation is necessary.
     */
    focusProps: DivAttributes;
    isFocusVisible: boolean;
    toggleState: import("react-stately").ToggleState;
    as: string;
    role: "checkbox";
    is?: string | undefined;
    form?: string | undefined;
    slot?: string | undefined;
    title?: string | undefined;
    pattern?: string | undefined;
    color?: string | undefined;
    type?: React.HTMLInputTypeAttribute | undefined;
    key?: React.Key | null | undefined;
    defaultChecked?: boolean | undefined;
    defaultValue?: string | number | readonly string[] | undefined;
    suppressContentEditableWarning?: boolean | undefined;
    suppressHydrationWarning?: boolean | undefined;
    accessKey?: string | undefined;
    autoFocus?: boolean | undefined;
    contentEditable?: "inherit" | (boolean | "true" | "false") | undefined;
    contextMenu?: string | undefined;
    dir?: string | undefined;
    draggable?: (boolean | "true" | "false") | undefined;
    enterKeyHint?: "search" | "enter" | "done" | "go" | "next" | "previous" | "send" | undefined;
    hidden?: boolean | undefined;
    id?: string | undefined;
    lang?: string | undefined;
    nonce?: string | undefined;
    placeholder?: string | undefined;
    spellCheck?: (boolean | "true" | "false") | undefined;
    translate?: "yes" | "no" | undefined;
    radioGroup?: string | undefined;
    about?: string | undefined;
    content?: string | undefined;
    datatype?: string | undefined;
    inlist?: any;
    prefix?: string | undefined;
    property?: string | undefined;
    rel?: string | undefined;
    resource?: string | undefined;
    rev?: string | undefined;
    typeof?: string | undefined;
    vocab?: string | undefined;
    autoCapitalize?: string | undefined;
    autoCorrect?: string | undefined;
    autoSave?: string | undefined;
    itemProp?: string | undefined;
    itemScope?: boolean | undefined;
    itemType?: string | undefined;
    itemID?: string | undefined;
    itemRef?: string | undefined;
    results?: number | undefined;
    security?: string | undefined;
    unselectable?: "on" | "off" | undefined;
    inputMode?: "search" | "text" | "none" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
    "aria-activedescendant"?: string | undefined;
    "aria-atomic"?: (boolean | "true" | "false") | undefined;
    "aria-autocomplete"?: "none" | "list" | "inline" | "both" | undefined;
    "aria-busy"?: (boolean | "true" | "false") | undefined;
    "aria-checked"?: boolean | "true" | "false" | "mixed" | undefined;
    "aria-colcount"?: number | undefined;
    "aria-colindex"?: number | undefined;
    "aria-colspan"?: number | undefined;
    "aria-controls"?: string | undefined;
    "aria-current"?: boolean | "time" | "true" | "false" | "step" | "date" | "page" | "location" | undefined;
    "aria-describedby"?: string | undefined;
    "aria-details"?: string | undefined;
    "aria-disabled"?: (boolean | "true" | "false") | undefined;
    "aria-dropeffect"?: "link" | "none" | "copy" | "execute" | "move" | "popup" | undefined;
    "aria-errormessage"?: string | undefined;
    "aria-expanded"?: (boolean | "true" | "false") | undefined;
    "aria-flowto"?: string | undefined;
    "aria-grabbed"?: (boolean | "true" | "false") | undefined;
    "aria-haspopup"?: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree" | undefined;
    "aria-hidden"?: (boolean | "true" | "false") | undefined;
    "aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
    "aria-keyshortcuts"?: string | undefined;
    "aria-label"?: string | undefined;
    "aria-labelledby"?: string | undefined;
    "aria-level"?: number | undefined;
    "aria-live"?: "off" | "assertive" | "polite" | undefined;
    "aria-modal"?: (boolean | "true" | "false") | undefined;
    "aria-multiline"?: (boolean | "true" | "false") | undefined;
    "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
    "aria-orientation"?: "horizontal" | "vertical" | undefined;
    "aria-owns"?: string | undefined;
    "aria-placeholder"?: string | undefined;
    "aria-posinset"?: number | undefined;
    "aria-pressed"?: boolean | "true" | "false" | "mixed" | undefined;
    "aria-readonly"?: (boolean | "true" | "false") | undefined;
    "aria-relevant"?: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
    "aria-required"?: (boolean | "true" | "false") | undefined;
    "aria-roledescription"?: string | undefined;
    "aria-rowcount"?: number | undefined;
    "aria-rowindex"?: number | undefined;
    "aria-rowspan"?: number | undefined;
    "aria-selected"?: (boolean | "true" | "false") | undefined;
    "aria-setsize"?: number | undefined;
    "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
    "aria-valuemax"?: number | undefined;
    "aria-valuemin"?: number | undefined;
    "aria-valuenow"?: number | undefined;
    "aria-valuetext"?: string | undefined;
    dangerouslySetInnerHTML?: {
        __html: string | TrustedHTML;
    } | undefined;
    onCopy?: React.ClipboardEventHandler<HTMLInputElement> | undefined;
    onCopyCapture?: React.ClipboardEventHandler<HTMLInputElement> | undefined;
    onCut?: React.ClipboardEventHandler<HTMLInputElement> | undefined;
    onCutCapture?: React.ClipboardEventHandler<HTMLInputElement> | undefined;
    onPaste?: React.ClipboardEventHandler<HTMLInputElement> | undefined;
    onPasteCapture?: React.ClipboardEventHandler<HTMLInputElement> | undefined;
    onCompositionEnd?: React.CompositionEventHandler<HTMLInputElement> | undefined;
    onCompositionEndCapture?: React.CompositionEventHandler<HTMLInputElement> | undefined;
    onCompositionStart?: React.CompositionEventHandler<HTMLInputElement> | undefined;
    onCompositionStartCapture?: React.CompositionEventHandler<HTMLInputElement> | undefined;
    onCompositionUpdate?: React.CompositionEventHandler<HTMLInputElement> | undefined;
    onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLInputElement> | undefined;
    onFocus?: React.FocusEventHandler<HTMLInputElement> | undefined;
    onFocusCapture?: React.FocusEventHandler<HTMLInputElement> | undefined;
    onBlur?: React.FocusEventHandler<HTMLInputElement> | undefined;
    onBlurCapture?: React.FocusEventHandler<HTMLInputElement> | undefined;
    onChangeCapture?: React.FormEventHandler<HTMLInputElement> | undefined;
    onBeforeInput?: React.FormEventHandler<HTMLInputElement> | undefined;
    onBeforeInputCapture?: React.FormEventHandler<HTMLInputElement> | undefined;
    onInput?: React.FormEventHandler<HTMLInputElement> | undefined;
    onInputCapture?: React.FormEventHandler<HTMLInputElement> | undefined;
    onReset?: React.FormEventHandler<HTMLInputElement> | undefined;
    onResetCapture?: React.FormEventHandler<HTMLInputElement> | undefined;
    onSubmit?: React.FormEventHandler<HTMLInputElement> | undefined;
    onSubmitCapture?: React.FormEventHandler<HTMLInputElement> | undefined;
    onInvalid?: React.FormEventHandler<HTMLInputElement> | undefined;
    onInvalidCapture?: React.FormEventHandler<HTMLInputElement> | undefined;
    onLoad?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onLoadCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onError?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onErrorCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onKeyDown?: React.KeyboardEventHandler<HTMLInputElement> | undefined;
    onKeyDownCapture?: React.KeyboardEventHandler<HTMLInputElement> | undefined;
    onKeyPress?: React.KeyboardEventHandler<HTMLInputElement> | undefined;
    onKeyPressCapture?: React.KeyboardEventHandler<HTMLInputElement> | undefined;
    onKeyUp?: React.KeyboardEventHandler<HTMLInputElement> | undefined;
    onKeyUpCapture?: React.KeyboardEventHandler<HTMLInputElement> | undefined;
    onAbort?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onAbortCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onCanPlay?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onCanPlayCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onCanPlayThrough?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onCanPlayThroughCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onDurationChange?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onDurationChangeCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onEmptied?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onEmptiedCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onEncrypted?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onEncryptedCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onEnded?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onEndedCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onLoadedData?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onLoadedDataCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onLoadedMetadata?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onLoadedMetadataCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onLoadStart?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onLoadStartCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onPause?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onPauseCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onPlay?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onPlayCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onPlaying?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onPlayingCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onProgress?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onProgressCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onRateChange?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onRateChangeCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onSeeked?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onSeekedCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onSeeking?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onSeekingCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onStalled?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onStalledCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onSuspend?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onSuspendCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onTimeUpdate?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onTimeUpdateCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onVolumeChange?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onVolumeChangeCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onWaiting?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onWaitingCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onAuxClick?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onAuxClickCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onClickCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onContextMenu?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onContextMenuCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onDoubleClick?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onDoubleClickCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onDrag?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragCapture?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragEnd?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragEndCapture?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragEnter?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragEnterCapture?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragExit?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragExitCapture?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragLeave?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragLeaveCapture?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragOver?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragOverCapture?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragStart?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDragStartCapture?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDrop?: React.DragEventHandler<HTMLInputElement> | undefined;
    onDropCapture?: React.DragEventHandler<HTMLInputElement> | undefined;
    onMouseDown?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseDownCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseEnter?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseLeave?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseMove?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseMoveCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseOut?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseOutCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseOver?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseOverCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseUp?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onMouseUpCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
    onSelect?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onSelectCapture?: React.ReactEventHandler<HTMLInputElement> | undefined;
    onTouchCancel?: React.TouchEventHandler<HTMLInputElement> | undefined;
    onTouchCancelCapture?: React.TouchEventHandler<HTMLInputElement> | undefined;
    onTouchEnd?: React.TouchEventHandler<HTMLInputElement> | undefined;
    onTouchEndCapture?: React.TouchEventHandler<HTMLInputElement> | undefined;
    onTouchMove?: React.TouchEventHandler<HTMLInputElement> | undefined;
    onTouchMoveCapture?: React.TouchEventHandler<HTMLInputElement> | undefined;
    onTouchStart?: React.TouchEventHandler<HTMLInputElement> | undefined;
    onTouchStartCapture?: React.TouchEventHandler<HTMLInputElement> | undefined;
    onPointerDown?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerDownCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerMove?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerMoveCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerUp?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerUpCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerCancel?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerCancelCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerEnter?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerEnterCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerLeave?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerLeaveCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerOver?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerOverCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerOut?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onPointerOutCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onGotPointerCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onGotPointerCaptureCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onLostPointerCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLInputElement> | undefined;
    onScroll?: React.UIEventHandler<HTMLInputElement> | undefined;
    onScrollCapture?: React.UIEventHandler<HTMLInputElement> | undefined;
    onWheel?: React.WheelEventHandler<HTMLInputElement> | undefined;
    onWheelCapture?: React.WheelEventHandler<HTMLInputElement> | undefined;
    onAnimationStart?: React.AnimationEventHandler<HTMLInputElement> | undefined;
    onAnimationStartCapture?: React.AnimationEventHandler<HTMLInputElement> | undefined;
    onAnimationEnd?: React.AnimationEventHandler<HTMLInputElement> | undefined;
    onAnimationEndCapture?: React.AnimationEventHandler<HTMLInputElement> | undefined;
    onAnimationIteration?: React.AnimationEventHandler<HTMLInputElement> | undefined;
    onAnimationIterationCapture?: React.AnimationEventHandler<HTMLInputElement> | undefined;
    onTransitionEnd?: React.TransitionEventHandler<HTMLInputElement> | undefined;
    onTransitionEndCapture?: React.TransitionEventHandler<HTMLInputElement> | undefined;
    list?: string | undefined;
    height?: string | number | undefined;
    max?: string | number | undefined;
    min?: string | number | undefined;
    width?: string | number | undefined;
    formAction?: string | undefined;
    formEncType?: string | undefined;
    formMethod?: string | undefined;
    formNoValidate?: boolean | undefined;
    formTarget?: string | undefined;
    autoComplete?: string | undefined;
    accept?: string | undefined;
    capture?: boolean | "user" | "environment" | undefined;
    checked?: boolean | undefined;
    maxLength?: number | undefined;
    minLength?: number | undefined;
    multiple?: boolean | undefined;
    readOnly?: boolean | undefined;
    required?: boolean | undefined;
    step?: string | number | undefined;
    alt: string;
    error?: boolean | undefined;
    variant?: import("./ThumbnailDocumentIcon").ThumbnailDocumentIconVariant | undefined;
    tabIndex?: number | undefined;
    qa?: import("./Thumbnail.types").QaTags | undefined;
    onClick?: ((e: React.MouseEvent<Element, MouseEvent>) => void) | undefined;
    children?: React.ReactNode;
    className?: string | undefined;
    style?: React.CSSProperties | undefined;
    ref?: ((instance: HTMLInputElement | null) => void) | React.RefObject<HTMLInputElement> | null | undefined;
} | {
    label: string;
    caption: string;
    selected: boolean;
    disabled: boolean;
    clickable: boolean;
    focused: boolean;
    isImageURL: boolean;
    hasCaptionPlaceholder: boolean;
    shouldUsePlaceholder: boolean;
    src: string | File | null | undefined;
    filename: string;
    size: import("./Thumbnail.types").SizeVariant;
    layout: LayoutVariant;
    inputRef: React.RefObject<HTMLInputElement>;
    inputProps: React.InputHTMLAttributes<HTMLInputElement>;
    /**
     * Appeared 23-1-18 https://github.com/procore/core/pull/12250
     * Possible issue with types from React Aria during dependency update
     * > The inferred type of 'useThumbnail' cannot be named without a
     * > reference to '@react-aria/focus/node_modules/@react-types/shared'.
     * > This is likely not portable. A type annotation is necessary.
     */
    focusProps: DivAttributes;
    isFocusVisible: boolean;
    toggleState: import("react-stately").ToggleState;
    as: React.ElementType<any>;
    role?: undefined;
    alt: string;
    error?: boolean | undefined;
    variant?: import("./ThumbnailDocumentIcon").ThumbnailDocumentIconVariant | undefined;
    tabIndex?: number | undefined;
    qa?: import("./Thumbnail.types").QaTags | undefined;
    onClick?: ((e: React.MouseEvent<Element, MouseEvent>) => void) | undefined;
    children?: React.ReactNode;
    className?: string | undefined;
    style?: React.CSSProperties | undefined;
    ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
} | {
    label: string;
    caption: string;
    selected: boolean;
    disabled: boolean;
    clickable: boolean;
    focused: boolean;
    isImageURL: boolean;
    hasCaptionPlaceholder: boolean;
    shouldUsePlaceholder: boolean;
    src: string | File | null | undefined;
    filename: string;
    size: import("./Thumbnail.types").SizeVariant;
    layout: LayoutVariant;
    inputRef: React.RefObject<HTMLInputElement>;
    inputProps: React.InputHTMLAttributes<HTMLInputElement>;
    /**
     * Appeared 23-1-18 https://github.com/procore/core/pull/12250
     * Possible issue with types from React Aria during dependency update
     * > The inferred type of 'useThumbnail' cannot be named without a
     * > reference to '@react-aria/focus/node_modules/@react-types/shared'.
     * > This is likely not portable. A type annotation is necessary.
     */
    focusProps: DivAttributes;
    isFocusVisible: boolean;
    toggleState: import("react-stately").ToggleState;
    as: string;
    role?: undefined;
    alt: string;
    error?: boolean | undefined;
    variant?: import("./ThumbnailDocumentIcon").ThumbnailDocumentIconVariant | undefined;
    tabIndex?: number | undefined;
    qa?: import("./Thumbnail.types").QaTags | undefined;
    onClick?: ((e: React.MouseEvent<Element, MouseEvent>) => void) | undefined;
    children?: React.ReactNode;
    className?: string | undefined;
    style?: React.CSSProperties | undefined;
    ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
};
