import { Key } from '@react-types/shared'; import { Rect } from './Rect'; /** * Instances of this lightweight class are created by `Layout` subclasses * to represent each item in the `Virtualizer`. LayoutInfo objects describe * various properties of an item, such as its position and size, and style information. * The virtualizer uses this information when creating actual DOM elements to display. */ export declare class LayoutInfo { /** * The type of element represented by this LayoutInfo. Should match the `type` of the corresponding collection node. */ type: string; /** * A unique key for this LayoutInfo. Should match the `key` of the corresponding collection node. */ key: Key; /** * The key for a parent LayoutInfo, if any. */ parentKey: Key | null; /** * Content for this item if it was generated by the layout rather than coming from the Collection. */ content: any | null; /** * The rectangle describing the size and position of this element. */ rect: Rect; /** * Whether the size is estimated. `false` by default. * Items with estimated sizes will be measured the first time they are added to the DOM. * The estimated size is used to calculate the size and position of the scrollbar. * @default false */ estimatedSize: boolean; /** * Whether the layout info sticks to the viewport when scrolling. * @default false */ isSticky: boolean; /** * The element's opacity. * @default 1 */ opacity: number; /** * A CSS transform string to apply to the element. `null` by default. */ transform: string | null; /** * The z-index of the element. 0 by default. */ zIndex: number; /** * Whether the element allows its contents to overflow its container. * @default false */ allowOverflow: boolean; /** * @param type The type of element represented by this LayoutInfo. Should match the `type` of the corresponding collection node. * @param key A unique key for this LayoutInfo. Should match the `key` of the corresponding collection node. * @param rect The rectangle describing the size and position of this element. */ constructor(type: string, key: Key, rect: Rect); /** * Returns a copy of the LayoutInfo. */ copy(): LayoutInfo; }