import { AriaLabelingProps, AsyncLoadable, Collection, CollectionBase, Direction, DOMProps, KeyboardDelegate, LoadingState, MultipleSelection, Node, Orientation, StyleProps } from '@react-types/shared'; import { Layout } from 'react-stately/useVirtualizerState'; import { ReactNode } from 'react'; import { Scale } from '../provider/types'; interface AriaCardProps extends AriaLabelingProps { } export interface SpectrumCardProps extends AriaCardProps, StyleProps, DOMProps { children: ReactNode; isQuiet?: boolean; layout?: 'grid' | 'waterfall' | 'gallery'; orientation?: Orientation; } interface LayoutOptions { cardOrientation?: Orientation; collator?: Intl.Collator; scale?: Scale; } interface CardViewLayout extends Layout>, KeyboardDelegate { collection: Collection>; disabledKeys: any; isLoading: boolean; direction: Direction; layoutType: string; margin?: number; } export interface CardViewLayoutConstructor { new (options?: LayoutOptions): CardViewLayout; } interface CardViewProps extends CollectionBase, MultipleSelection, Omit { layout: CardViewLayoutConstructor | CardViewLayout; cardOrientation?: Orientation; isQuiet?: boolean; renderEmptyState?: () => ReactNode; loadingState?: LoadingState; } export interface AriaCardViewProps extends CardViewProps, DOMProps, AriaLabelingProps { } export interface SpectrumCardViewProps extends AriaCardViewProps, StyleProps { } export {};