import type { IndexPattern } from '../../../../../src/plugins/data/common' ; import { Embeddable , EmbeddableInput , EmbeddableOutput , SavedObjectEmbeddableInput , } from '../../../../../src/plugins/embeddable/public' ; import { Query , Filter , TimeRange } from '../../../../../src/plugins/data/common' ; import { MapCenterAndZoom , MapExtent } from '../../common/descriptor_types' ; import { MapSavedObjectAttributes } from '../../common/map_saved_object_type' ; import { MapSettings } from '../reducers/map' ; export interface MapEmbeddableConfig { editable : boolean ; } interface MapEmbeddableState { isLayerTOCOpen ? : boolean ; openTOCDetails ? : string [ ] ; mapCenter ? : MapCenterAndZoom ; mapBuffer ? : MapExtent ; mapSettings ? : Partial < MapSettings > ; hiddenLayers ? : string [ ] ; hideFilterActions ? : boolean ; filters ? : Filter [ ] ; query ? : Query ; timeRange ? : TimeRange ; } export type MapByValueInput = { attributes : MapSavedObjectAttributes ; } & EmbeddableInput & { filterByMapExtent ? : boolean ; } & MapEmbeddableState ; export type MapByReferenceInput = SavedObjectEmbeddableInput & { filterByMapExtent ? : boolean ; } & MapEmbeddableState ; export type MapEmbeddableInput = MapByValueInput | MapByReferenceInput ; export type MapEmbeddableOutput = EmbeddableOutput & { indexPatterns : IndexPattern [ ] ; } ; export type MapEmbeddableType = Embeddable < MapEmbeddableInput , MapEmbeddableOutput > & { setOnInitialRenderComplete ( onInitialRenderComplete ? ) : void ; setIsSharable ( isSharable ) : void ; } ;