import React, { PureComponent } from 'react';
import PropTypes from 'prop-types';
import { CardGalleryItemProps } from './CardGalleryItem.types';
declare class CardGalleryItem extends PureComponent<CardGalleryItemProps> {
    static displayName: string;
    static propTypes: {
        badge: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        size: PropTypes.Requireable<string>;
        title: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        subtitle: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        draggable: PropTypes.Requireable<boolean>;
        droppable: PropTypes.Requireable<boolean>;
        dragHandleProps: PropTypes.Requireable<object>;
        dragging: PropTypes.Requireable<boolean>;
        dragDisabled: PropTypes.Requireable<boolean>;
        tabIndex: PropTypes.Requireable<number>;
        backgroundImageUrl: PropTypes.Requireable<string>;
        backgroundImageNode: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        primaryActionProps: PropTypes.Requireable<PropTypes.InferProps<{
            label: PropTypes.Requireable<PropTypes.ReactNodeLike>;
            onClick: PropTypes.Requireable<(...args: any[]) => any>;
            disabled: PropTypes.Requireable<boolean>;
            disabledMessage: PropTypes.Requireable<string>;
        }>>;
        secondaryActionProps: PropTypes.Requireable<PropTypes.InferProps<{
            label: PropTypes.Requireable<PropTypes.ReactNodeLike>;
            onClick: PropTypes.Requireable<(...args: any[]) => any>;
        }>>;
        settingsMenu: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        dataHook: PropTypes.Requireable<string>;
        aspectRatio: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
        imagePlacement: PropTypes.Requireable<string>;
        showSuffixOnHover: PropTypes.Requireable<boolean>;
        skin: PropTypes.Requireable<string>;
        skinVisibility: PropTypes.Requireable<string>;
        footer: PropTypes.Requireable<PropTypes.ReactNodeLike>;
    };
    static defaultProps: {
        aspectRatio: number;
        size: string;
        imagePlacement: string;
        showSuffixOnHover: boolean;
        skin: string;
        skinVisibility: string;
    };
    state: {
        isHovered: boolean;
        isFocused: boolean;
    };
    _onMouseEnter: () => void;
    _onMouseLeave: () => void;
    _onFocus: React.FocusEventHandler<HTMLDivElement>;
    _onBlur: () => void;
    _hasFooter(): boolean;
    _renderBadge(): React.JSX.Element;
    _renderDragHandle(): React.JSX.Element;
    _renderFooter(): React.JSX.Element;
    _renderActions(): React.JSX.Element;
    _renderSettingsMenu(): React.JSX.Element;
    render(): React.JSX.Element;
}
export default CardGalleryItem;
//# sourceMappingURL=CardGalleryItem.d.ts.map