import { ILayout } from './ILayout' ; import { IPropertyPaneField } from "@microsoft/sp-property-pane" ; import { ServiceScope } from '@microsoft/sp-core-library' ; import { WebPartContext } from '@microsoft/sp-webpart-base' ; export abstract class BaseLayout < T > implements ILayout { private _properties ! : T ; private _context : WebPartContext ; protected serviceScope : ServiceScope ; get properties ( ) : T { return this . _properties ; } set properties ( properties ) { this . _properties = properties ; } get context ( ) : WebPartContext { return this . _context ; } set context ( context ) { this . _context = context ; } public constructor ( serviceScope ) { this . serviceScope = serviceScope ; } public onInit ( ) { } public getPropertyPaneFieldsConfiguration ( availableFields ) { return [ ] ; } public onPropertyUpdate ( propertyPath , oldValue , newValue ) { } }