import { SimpleSavedObject } from 'src/core/public' ; import { FontawesomeIcon } from '../helpers/style_choices' ; import { OutlinkEncoder } from '../helpers/outlink_encoders' ; import type { IndexPattern } from '../../../../../src/plugins/data/public' ; export interface UrlTemplate { url : string ; description : string ; icon : FontawesomeIcon | null ; encoder : OutlinkEncoder ; isDefault ? : boolean ; } export interface WorkspaceField { name : string ; hopSize ? : number ; lastValidHopSize ? : number ; color : string ; icon : FontawesomeIcon ; selected : boolean ; type : string ; aggregatable : boolean ; } export interface AdvancedSettings { sampleSize : number ; useSignificance : boolean ; minDocCount : number ; sampleDiversityField ? : WorkspaceField ; maxValuesPerDoc : number ; timeoutMillis : number ; } export type IndexPatternSavedObject = SimpleSavedObject < { title : string ; } > ; export interface IndexPatternProvider { get ( id ) : Promise < IndexPattern > ; }