import { CoreSetup , SavedObject } from 'kibana/server' ; export class Plugin { constructor ( ) { } public setup ( core ) { const management = { importableAndExportable : true , getTitle ( obj ) { return obj . attributes . title ; } , } ; const mappings = { properties : { title : { type : 'text' } , } , } as const ; core . savedObjects . registerType ( { name : 'isolatedtype' , hidden : false , namespaceType : 'single' , management , mappings : { properties : { description : { type : 'text' } , kibanaSavedObjectMeta : { properties : { searchSourceJSON : { type : 'text' } , } , } , savedSearchId : { type : 'keyword' } , title : { type : 'text' } , uiStateJSON : { type : 'text' } , version : { type : 'integer' } , visState : { type : 'text' } , } , } , } ) ; core . savedObjects . registerType ( { name : 'sharedtype' , hidden : false , namespaceType : 'multiple' , management , mappings , } ) ; core . savedObjects . registerType ( { name : 'sharecapabletype' , hidden : false , namespaceType : 'multiple-isolated' , management , mappings , } ) ; core . savedObjects . registerType ( { name : 'globaltype' , hidden : false , namespaceType : 'agnostic' , management , mappings , } ) ; core . savedObjects . registerType ( { name : 'hiddentype' , hidden : true , namespaceType : 'single' , mappings , } ) ; core . savedObjects . registerType ( { name : 'resolvetype' , hidden : false , namespaceType : 'multiple' , management , mappings , } ) ; } public start ( ) { } public stop ( ) { } }