import * as React from 'react'; import { Store } from '@mui/x-internals/store'; import { Dimensions } from "../dimensions.mjs"; import { Virtualization, type VirtualizationLayoutParams } from "./virtualization.mjs"; import type { BaseState, ParamsWithDefaults } from "../../useVirtualizer.mjs"; type RequiredAPI = Dimensions.API; type BaseElements = { scroller: React.RefObject; container: React.RefObject; }; type AnyElements = BaseElements & Record>; export declare abstract class Layout { static elements: readonly (keyof AnyElements)[]; refs: E; constructor(refs: E); abstract use(store: Store, params: ParamsWithDefaults, api: RequiredAPI, layoutParams: VirtualizationLayoutParams): any; refSetter(name: keyof E): (node: HTMLDivElement | null) => void; } type DataGridElements = BaseElements & { scrollbarVertical: React.RefObject; scrollbarHorizontal: React.RefObject; }; export declare class LayoutDataGrid extends Layout { static elements: readonly ['scroller', 'container', 'content', 'positioner', 'scrollbarVertical', 'scrollbarHorizontal']; use(store: Store, _params: ParamsWithDefaults, api: RequiredAPI, layoutParams: VirtualizationLayoutParams): void; static selectors: { containerProps: (args_0: Virtualization.State> & Dimensions.State) => { ref: any; }; scrollerProps: (args_0: Virtualization.State> & Dimensions.State) => { ref: any; style: { overflowX: "hidden" | undefined; overflowY: "hidden" | undefined; }; role: string; tabIndex: number | undefined; }; scrollerContentProps: (args_0: Virtualization.State> & Dimensions.State) => { style: React.CSSProperties | undefined; role: string; }; viewportProps: (args_0: Virtualization.State> & Dimensions.State) => { style: { width: number; height: number; }; role: string; }; contentProps: (args_0: Virtualization.State> & Dimensions.State) => { style: React.CSSProperties; role: string; }; positionerProps: (args_0: Virtualization.State> & Dimensions.State) => { style: { transform: string; }; }; containerVerticalProps: (args_0: Virtualization.State> & Dimensions.State) => { style: { transform: string; }; } | undefined; scrollbarHorizontalProps: (args_0: Virtualization.State> & Dimensions.State) => { ref: any; scrollPosition: { current: import("../../index.mjs").ScrollPosition; }; }; scrollbarVerticalProps: (args_0: Virtualization.State> & Dimensions.State) => { ref: any; scrollPosition: { current: import("../../index.mjs").ScrollPosition; }; }; scrollAreaProps: (args_0: Virtualization.State> & Dimensions.State) => { scrollPosition: { current: import("../../index.mjs").ScrollPosition; }; }; }; } type ListElements = BaseElements; export declare class LayoutList extends Layout { static elements: readonly ['scroller', 'container', 'content', 'positioner']; use(store: Store, _params: ParamsWithDefaults, _api: RequiredAPI, layoutParams: VirtualizationLayoutParams): void; static selectors: { containerProps: (args_0: Virtualization.State> & Dimensions.State) => { ref: any; style: React.CSSProperties; role: string; tabIndex: number | undefined; }; contentProps: (args_0: Virtualization.State> & Dimensions.State) => { style: React.CSSProperties; role: string; }; positionerProps: (args_0: Virtualization.State> & Dimensions.State) => { style: React.CSSProperties; }; }; } export {};