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;
}
