import { ServiceScope } from '@microsoft/sp-core-library' ; import { ISuggestionProvider } from './ISuggestionProvider' ; import { ISuggestion } from './ISuggestion' ; import { IPropertyPaneGroup } from '@microsoft/sp-property-pane' ; import { WebPartContext } from '@microsoft/sp-webpart-base' ; export abstract class BaseSuggestionProvider < T > implements ISuggestionProvider { protected _isZeroTermSuggestionsEnabled : boolean ; protected _properties ! : T ; private _context : WebPartContext ; protected serviceScope : ServiceScope ; get properties ( ) : T { return this . _properties ; } set properties ( properties ) { this . _properties = properties ; } get isZeroTermSuggestionsEnabled ( ) : boolean { return this . _isZeroTermSuggestionsEnabled ; } set isZeroTermSuggestionsEnabled ( isZeroTermSuggestionsEnabled ) { this . _isZeroTermSuggestionsEnabled = isZeroTermSuggestionsEnabled ; } get context ( ) : WebPartContext { return this . _context ; } set context ( context ) { this . _context = context ; } public constructor ( serviceScope ) { this . serviceScope = serviceScope ; } public onInit ( ) { } public getPropertyPaneGroupsConfiguration ( ) { return [ ] ; } public onPropertyUpdate ( propertyPath , oldValue , newValue ) { } public getSuggestions ( queryText ) { throw 'Not implemented' ; } public getZeroTermSuggestions ( ) { throw 'Not implemented' ; } }