import { Direction, Key, KeyboardDelegate, Node } from '@react-types/shared'; import { GridCollection } from 'react-stately/private/grid/GridCollection'; import { InvalidationContext, Layout, LayoutInfo, Rect, Size } from 'react-stately/useVirtualizerState'; import { Scale } from '../provider/types'; export interface BaseLayoutOptions { collator?: Intl.Collator; scale?: Scale; /** * The margin around the grid view between the edges and the items. * * @default 24 */ margin?: number; } interface CardViewLayoutOptions { isLoading: boolean; direction: Direction; } export declare class BaseLayout extends Layout, CardViewLayoutOptions> implements KeyboardDelegate { protected contentSize: Size; protected layoutInfos: Map; protected collator: Intl.Collator; protected lastCollection: GridCollection; collection: GridCollection; isLoading: boolean; disabledKeys: Set; direction: Direction; scale: Scale; margin: number; constructor(options?: BaseLayoutOptions); update(invalidationContext: InvalidationContext): void; buildCollection(invalidationContext?: InvalidationContext): void; getContentSize(): number; getLayoutInfo(key: Key): LayoutInfo; getVisibleLayoutInfos(rect: Rect, excludePersistedKeys?: boolean): LayoutInfo[]; isVisible(layoutInfo: LayoutInfo, rect: Rect, excludePersistedKeys: boolean): boolean; _findClosestLayoutInfo(target: Rect, rect: Rect): LayoutInfo | null; _findClosest(target: Rect, rect: Rect): LayoutInfo | null; getKeyBelow(key: Key): Node | undefined; getKeyAbove(key: Key): Node | undefined; getKeyRightOf(key: Key): Node | undefined; getKeyLeftOf(key: Key): Node | undefined; getFirstKey(): Node | undefined; getLastKey(): Node | undefined; getKeyPageAbove(key: Key): Node | undefined; getKeyPageBelow(key: Key): Node | undefined; getKeyForSearch(search: string, fromKey?: Key): Node | undefined | null; } export {};