import { ResultsViewTab } from '../../pages/resultsView/ResultsViewPageHelpers'; import MobxPromise from 'mobxpromise'; export interface ITabConfiguration { id: ResultsViewTab; getTab: () => JSX.Element; hide?: () => boolean; } export interface ICustomTabConfiguration { id: string; title: string; location: string; mountCallbackName?: string; mountCallback?: (...args: any[]) => boolean | Promise; pathsToJs: string[]; pathsToCSS: string[]; customParameters: { [key: string]: any }; unmountOnHide: boolean; dependencyPromise?: Promise; hideAsync?: (...args: any[]) => boolean | Promise; } export interface ICustomTabWrapper { promise?: MobxPromise; tab: ICustomTabConfiguration; }