import { GridListProps } from 'react-aria-components/GridList';
import { ContextValue } from 'react-aria-components/slots';
import { ReactElement } from 'react';
import { DOMRefValue, GlobalDOMAttributes, Key, LoadingState } from '@react-types/shared';
import { StylesPropWithHeight, UnsafeStyles } from './style-utils';
export interface CardViewProps<T> extends Omit<GridListProps<T>, 'layout' | 'keyboardNavigationBehavior' | 'selectionBehavior' | 'className' | 'style' | 'render' | 'isLoading' | keyof GlobalDOMAttributes>, UnsafeStyles {
    /**
     * The layout of the cards.
     * @default 'grid'
     */
    layout?: 'grid' | 'waterfall';
    /**
     * The size of the cards.
     * @default 'M'
     */
    size?: 'XS' | 'S' | 'M' | 'L' | 'XL';
    /**
     * The amount of space between the cards.
     * @default 'regular'
     */
    density?: 'compact' | 'regular' | 'spacious';
    /**
     * The visual style of the cards.
     * @default 'primary'
     */
    variant?: 'primary' | 'secondary' | 'tertiary' | 'quiet';
    /**
     * How selection should be displayed.
     * @default 'checkbox'
     */
    selectionStyle?: 'checkbox' | 'highlight';
    /** The loading state of the CardView. */
    loadingState?: LoadingState;
    /** Handler that is called when more items should be loaded, e.g. while scrolling near the bottom. */
    onLoadMore?: () => void;
    /** Spectrum-defined styles, returned by the `style()` macro. */
    styles?: StylesPropWithHeight;
    /** Provides the ActionBar to render when cards are selected in the CardView. */
    renderActionBar?: (selectedKeys: 'all' | Set<Key>) => ReactElement;
}
export declare const CardViewContext: import("react").Context<ContextValue<Partial<CardViewProps<any>>, DOMRefValue<HTMLDivElement>>>;
/**
 * A CardView displays a group of related objects, with support for selection and bulk actions.
 */
export declare const CardView: <T extends object>(props: CardViewProps<T> & import("react").RefAttributes<DOMRefValue<HTMLDivElement>>) => ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | null;
