import { FilterEditor } from '@devexpress/analytics-core/analytics-widgets'; import { ITreeListOptions } from '@devexpress/analytics-core/analytics-widgets-internal'; import { ToolbarItem } from 'devextreme/ui/popup'; import * as ko from 'knockout'; import { DataSourceBrowser } from '../../common/_data-source-browser'; import { DashboardUpdateHub } from '../../common/dashboard-update-hub/_dashboard-update-hub'; import { FederationDataSource } from '../../model'; import { CalculatedField } from '../../model/data-sources/calculated-field'; import { DataSource } from '../../model/data-sources/data-source'; import { SqlDataSource } from '../../model/data-sources/sql-data-source'; import { DisposableObject } from '../../model/disposable-object'; import { CalcFieldEditor } from '../calc-field-editor/_calc-field-editor'; import { DataSourceWizardExtension } from '../data-source-wizard/data-source-wizard-extension'; import { AvailableDataSourcesExtension } from '../extensions/available-data-sources-extension'; import { RenameDataSourcePopup } from './rename-data-source-popup/_rename-data-source-popup'; export interface IDataSourceAction { click: Function; text: string; disabled: ko.Computed; } export interface IEditDataSourceAction { click: Function; text: string; visible: ko.Computed; } export interface IDataSourceBrowserViewModel { selectedDataSource: ko.Observable; canEditDataSource: boolean; canEditCustomSqlQueries: boolean; editQuery(queryName: string): any; editFederationQuery?(queryName: string): any; removeQuery(queryName: string): any; removeFederationQuery?(queryName: string): any; editCalcField(field: CalculatedField): any; removeCalcField(field: CalculatedField): any; } export interface IDashboardActionInfo { title?: string; icon: string; click: () => void; style?: string; } export declare class DataSourceBrowserViewModel extends DisposableObject implements IDataSourceBrowserViewModel { dataSourceBrowser: DataSourceBrowser; dataSourceWizardExtension: ko.Computed; accessibleDataSourcesExtension: ko.Computed; calcFieldEditor: CalcFieldEditor; renameDataSourcePopup: RenameDataSourcePopup; dataSourceTreeListViewModel: DataSourceTreeListViewModel; constructor(dataSourceBrowser: DataSourceBrowser, dataSourceWizardExtension: ko.Computed, accessibleDataSourcesExtension: ko.Computed, updateHub: DashboardUpdateHub); _expandQuery(dataSource: SqlDataSource | FederationDataSource, queryName: string): void; editDataSourceActions: ko.ObservableArray; get canEditDataSource(): boolean; get canEditCustomSqlQueries(): boolean; addDataSources: (dataSources: Array) => void; refreshFieldList(): void; showAddDataSourceForm(): void; addQuery: () => void; manageQueries: () => void; editQuery(queryName: string): void; editFederationQuery(queryName: string): void; manageFederationQueries(): void; removeQuery(queryName: string): void; removeFederationQuery(queryName: string): void; editDataSource(): void; dataSourceActions: ko.ObservableArray; private _removeDataSource; removeDataSource: (dataSource: DataSource) => void; showRenameDataSourceForm: (dataSource: DataSource) => void; usedDataSourcesExist: () => boolean; availableDataSourcesExist: () => boolean; get canAddCalculatedField(): boolean; popupContent: ko.Observable; popupVisible: ko.Computed; addCalculatedField: () => void; private _onDataSourcePropertyChanged; editCalcField: (field: CalculatedField) => void; removeCalcField: (field: CalculatedField) => void; selectedPath: ko.Observable; selectedDataSource: ko.Observable; allowAddQuery: ko.Computed; allowManageQueries: ko.Computed; allowEditDataSource: ko.Computed; selectedDataSourceComponentName: ko.Computed; filterEditorModel: ko.Computed; editFilter: () => void; } export declare class DataSourceTreeListViewModel { private _itemsProvider; constructor(dataSourceBrowserViewModel: DataSourceBrowserViewModel); triggerItemsChanged(): void; treeListEditorOption: ko.Observable; } export interface IPopupContentViewModel { toolbarItems: Array; title: string; template: string; bindingData?: any; }