import type { IPropertyPaneData, PropertyPaneWidthMode } from '../propertyPane/IPropertyPane'; import type { PropertyPaneLifeCycleEvent } from '../propertyPaneDefinitions/PropertyPaneLifeCycleEvent'; import type { PropertyPaneFieldType } from '../propertyPaneFields/propertyPaneField/IPropertyPaneField'; /** * The interface needed for a control to implement if they want to utilize the Property Pane * for configuration through the ClientSideWebPartManager. * * @internal */ export interface IPropertyPaneConsumer { /** * Indicates whether the property pane is reactive or not. * * @remarks * The default behavior is Reactive. * * Reactive implies that changes made in the PropertyPane are transmitted to the web part instantly and the user can * see instant updates. This helps the page creator get instant feedback and decide if they should keep the new * configuration changes or not. * * NonReactive implies that the configuration changes are transmitted to the web part only after "Apply" PropertyPane * button is clicked. */ _isPropertyPaneReactive(): boolean; /** * API to get the property pane configuration asynchronously. * @param isDetails - Determine whether we should get propertyPane data from details * @param context - Additional data passed to property pane * * @remarks * TODO: We will create a separate API for openDetails() call. Here is the workitem link: * https://onedrive.visualstudio.com/SPO%20Project%20Outcomes/_workitems/edit/778405 */ _getPropertyPaneData(isDetails?: boolean, context?: any): Promise; /** * API to enable asynchronous loading of property pane related resources of a web part. */ _loadPropertyPaneResources(): void; _onPropertyPaneLifeCycleEvent(lifeCycleEvent: PropertyPaneLifeCycleEvent): void; _onPropertyPaneFieldChanged(propertyPath: string, newValue: unknown, fieldType?: PropertyPaneFieldType): void; /** * Returns the consumerId this consumer is connected to. * @remarks * Used to differentiate LockedControlPropertyPane 3rd party webparts * @internal */ _getConnectedConsumerId?: () => string; /** * Returns the property pane width mode. * @remarks * Used to differentiate between narrow and wide property pane. * @internal */ _getPropertyPaneWidthMode?(): PropertyPaneWidthMode; } //# sourceMappingURL=IPropertyPaneConsumer.d.ts.map