import React from 'react';
import type { BasePlaceholderProps, BaseThumbnailProps, PlaceholderProps, ThumbnailProps, ThumbnailRef, ThumbnailRoles, ThumbnailRoleType } from './Thumbnail.types';
declare function PlaceholderInner(props: PlaceholderProps<ThumbnailRoleType>, ref: ThumbnailRef<ThumbnailRoleType>): React.JSX.Element;
declare function ThumbnailInner(props: ThumbnailProps<ThumbnailRoleType>, ref: ThumbnailRef<ThumbnailRoleType>): React.JSX.Element;
/**

 We use thumbnails to display previews for images or files as either a smaller
 version of an uploaded image, or an icon representing the file type. If an
 image preview can be generated from the file (in the case of images) then
 display that image.

 @since 10.19.0

 @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-thumbnail--demo-thumbnail)

 @see [Design Guidelines](https://design.procore.com/thumbnail)

 */
export declare const Thumbnail: (<Role extends ThumbnailRoles>(props: ThumbnailProps<Role> | (BaseThumbnailProps & {
    ref?: ThumbnailRef<Role> | undefined;
})) => ReturnType<typeof ThumbnailInner>) & {
    Placeholder: <Role_1 extends ThumbnailRoles>(props: PlaceholderProps<Role_1> | (BasePlaceholderProps & {
        ref?: ThumbnailRef<Role_1> | undefined;
    })) => ReturnType<typeof PlaceholderInner>;
};
export {};
