import type { ReactElement } from 'react'; import type { IPropertyPaneConsumer } from '../propertyPaneConsumer/IPropertyPaneConsumer'; import type { PropertyPaneAction } from '../propertyPaneDefinitions/PropertyPaneAction'; import type { IConfigurableOptionsController } from './IConfigurableOptionsController'; /** * Class which manages all the interactions between property pane and the property pane consumers, such as web parts. * * **Expanded responsibilities:** * - Manages the Content Panel for propertyPane consumers it supports * - Handles conflict resolutions between the PropertyPaneController and ContentPanel. * * @internal */ export declare class ConfigurableOptionsController implements IConfigurableOptionsController { private readonly _propertyPaneController; private readonly _contentPanelController?; /** * Temporary map of consumers until _contentPanelControllerPromise is resolved. */ private _temporaryConsumerRegistry; private _connectedConsumerWaitSet; private _registerConsumerPromise?; constructor(); private get _contentPanelControllerCasted(); get currentlyConfiguredConsumerId(): string | undefined; registerOnPropertyPaneFieldChangedListener(instanceId: string, callback: () => void): () => void; registerConsumer(instanceId: string, consumer: IPropertyPaneConsumer): void; isConsumerRegistered(instanceId: string): boolean; requestAction(toBeConfiguredConsumerId: string, propertyPaneAction?: PropertyPaneAction, renderedByWebPart?: boolean | undefined, context?: unknown): void; isRenderedByConsumer(): boolean; isOpen(instanceId?: string): boolean; isContentPanelOpen(): boolean; onConsumerDelete(id: string): void; _setAppPagePropertyPaneTopData(topControl: ReactElement, title: string): void; _setPropertyPaneToNarrowRender(narrow: boolean): void; private _registerConsumerWithBothControllers; private _requestionActionWithBothController; private _isConsumerRegisteredToContentPanelOrPropertyPane; /** * Determines if the specified instanceId is supported by the ContentPanelController */ private _isContentPanelComponent; /** * Listen for updates to the content panel so conflicts can be resolved. */ private _onContentPanelUpdate; } //# sourceMappingURL=ConfigurableOptionsController.d.ts.map