import * as ko from 'knockout'; import { DataSource } from '../data-sources/data-source'; import { DashboardItem } from '../items/dashboard-item'; import { DataDashboardItem } from '../items/data-dashboard-item'; import { GroupItem } from '../items/group/group-item'; import { DashboardTabPage } from '../items/tab-container-item/dashboard-tab-page'; import { DashboardLayoutNode } from '../layout/dashboard-layout-node'; export interface IDashboardItemsProvider { findItem(itemId: string): DashboardItem; items: ko.ObservableArray; groups: ko.ObservableArray; dataSources: ko.ObservableArray; layout: ko.Observable; _createDashboardLayoutItem(modelItemJson?: any): DashboardLayoutNode; _createDashboardLayoutNode(dashboardItem: DashboardItem): DashboardLayoutNode; _getDisplayDashboardItem(tabPage: DashboardTabPage): DashboardItem; _allItems: ko.PureComputed>; } export interface IExternalFilter { dimensions: Array; range: Array; values: Array; isExcludingAllFilter: boolean; } export interface IMasterFilterItemsProvider { _masterFilterItems: ko.Subscribable>; } export interface IColorSignaturesProvider { _colorableItems: ko.Subscribable; } export interface Notification { title: string; detail?: string; } export interface IViewport { RightLongitude: number; LeftLongitude: number; BottomLatitude: number; TopLatitude: number; CenterPointLongitude: number; CenterPointLatitude: number; } export interface IViewportViewModel extends IViewport { CreateViewerPaddings: boolean; }