/** @packageDocumentation * @module PropertyGrid */ import "./PropertyGrid.scss"; import * as React from "react"; import { PropertyRecord } from "@bentley/ui-abstract"; import { Orientation } from "@bentley/ui-core"; import { IPropertyDataProvider, PropertyCategory } from "../PropertyDataProvider"; import { CommonPropertyGridProps } from "./PropertyGridCommons"; /** Properties for [[PropertyGrid]] React component * @public */ export interface PropertyGridProps extends CommonPropertyGridProps { /** Property data provider */ dataProvider: IPropertyDataProvider; } /** Property Category in the [[PropertyGrid]] state * @public * @deprecated This was part of [[PropertyGrid]] internal state and should've never been public. The component is not using it anymore. */ export interface PropertyGridCategory { propertyCategory: PropertyCategory; propertyCount: number; properties: PropertyRecord[]; } interface CategorizedPropertyGridRecords { category: PropertyCategory; records: PropertyRecord[]; children: CategorizedPropertyGridRecords[]; } /** State of [[PropertyGrid]] React component * @internal */ interface PropertyGridState { /** List of PropertyGrid categories */ categories: CategorizedPropertyGridRecords[]; /** Actual orientation used by the property grid */ orientation: Orientation; /** If property grid currently loading data, the loading start time */ loadStart?: Date; /** Width of PropertyGrid */ width: number; } /** PropertyGrid React component. * @public */ export declare class PropertyGrid extends React.Component { private _dataChangesListenerDisposeFunc?; private _isMounted; private _isInDataRequest; private _hasPendingDataRequest; /** @internal */ constructor(props: PropertyGridProps); /** @internal */ componentDidMount(): void; /** @internal */ componentWillUnmount(): void; componentDidUpdate(prevProps: PropertyGridProps): void; private _onPropertyDataChanged; private gatherData; private getPreferredOrientation; private _onResize; private _onCategoryExpansionToggled; private updateOrientation; /** @internal */ render(): JSX.Element; } export {}; //# sourceMappingURL=PropertyGrid.d.ts.map