/** @packageDocumentation * @module PropertyGrid */ import { BeEvent } from "@bentley/bentleyjs-core"; import { PropertyRecord } from "@bentley/ui-abstract"; /** * Contains metadata about a group of Properties. * @public */ export interface PropertyCategory { name: string; label: string; expand: boolean; /** @beta */ childCategories?: PropertyCategory[]; /** @beta */ renderer?: { name: string; }; } /** * Interface for property data provided to the PropertyGrid React component. * @public */ export interface PropertyData { label: PropertyRecord; description?: string; categories: PropertyCategory[]; records: { [categoryName: string]: PropertyRecord[]; }; /** * Should state of existing property data in the component be re-used for this property data * @alpha */ reusePropertyDataState?: boolean; } /** A signature for property data change listeners * @public */ export declare type PropertyDataChangesListener = () => void; /** An event broadcasted on property data changes * @public */ export declare class PropertyDataChangeEvent extends BeEvent { } /** * An interface for property data provider which returns * property data and broadcasts an event when the data changes * @public */ export interface IPropertyDataProvider { /** Returns property data. */ getData: (() => Promise); /** Property data change event. */ onDataChanged: PropertyDataChangeEvent; } //# sourceMappingURL=PropertyDataProvider.d.ts.map