///
import { BaseWizard, IDataSourceWizardSettings, IWizardEventArgs, PageFactory, PageIterator, PopupWizard, StateManager } from '@devexpress/analytics-core/analytics-wizard';
import * as ko from 'knockout';
import { DataSourceBrowser } from '../../common/_data-source-browser';
import { DashboardOptionChangedArgs } from '../../common/control-options';
import { DashboardControl } from '../../common/dashboard-control';
import { ISupportOptionExtension } from '../../common/internal/_interfaces';
import { EventSubscriber, OptionsManager } from '../../common/internal/_options-manager';
import { FederationDataSource } from '../../model';
import { DataSource } from '../../model/data-sources/data-source';
import { JsonDataSource } from '../../model/data-sources/json-data-source';
import { SqlDataSource } from '../../model/data-sources/sql-data-source';
import { Parameter } from '../../model/parameters/parameter';
import { IDashboardDataSourceInfo } from './_helpers';
import { DashboardRequestWrapper } from './models/_data-source-wizard-model';
import { IDashboardDataSourceWizardConnectionStrings } from './models/data-source-wizard-model';
import { DashboardDataSourceWizardBase } from './wizards/_data-source-wizard';
import { MongoDBDataSource } from '../../model/data-sources/mongodb-data-source';
export interface DataSourceWizardExtensionOptions {
enableCustomSql?: boolean;
allowCreateNewJsonConnection?: boolean;
wizardSettings?: IDashboardDataSourceWizardSettings;
onCustomizeDataSourceWizard?: (args: IDashboardWizardEventArgs) => void;
}
export type DataSourceWizardExtensionEvents = {
customizeDataSourceWizard: IDashboardWizardEventArgs;
};
export interface IDashboardDataSourceWizardSettings extends IDataSourceWizardSettings {
enableOlapDataSource?: boolean;
}
export type DataSourceWizardType = 'EditQueryWizard' | 'EditJsonDataSourceWizard' | 'EditMongoDBDataSourceWizard' | 'DataSourceWizard' | 'MultiQueryDataSourceWizard';
export interface IDashboardWizardEventArgs extends IWizardEventArgs {
type: DataSourceWizardType;
}
export declare class DataSourceWizardExtension implements ISupportOptionExtension {
protected dashboardControl: DashboardControl;
private static _convertDataSource;
private _subscriptions;
protected _requestWrapper: DashboardRequestWrapper;
private _getConnectionStringsCallback;
private _loadingPanelVisible;
private _wizardElement;
protected _dashboardParameters: ko.Computed>;
_optionsManager: OptionsManager;
private _customTemplate;
get isCustomSqlEnabled(): any;
protected get _dataSourceBrowser(): DataSourceBrowser;
name: string;
on: EventSubscriber;
off: EventSubscriber;
constructor(dashboardControl: DashboardControl, options?: DataSourceWizardExtensionOptions);
start(): void;
stop(): void;
showDataSourceCreatingDialog(): JQueryPromise;
private _getDashboardDataSources;
private _getFederationDataProviders;
_showDataSourceCreatingDialog(federationDataProviders: DataSource[]): JQueryPromise;
showSqlQueryEditingDialog(dashboardSqlDataSource: SqlDataSource, queryName?: string): void;
showFederationQueryEditingDialog(dashboardFederationDataSource: FederationDataSource, queryName: string): void;
showManageFederationQueriesDialog(dashboardFederationDataSource: FederationDataSource): void;
private _createEditQueryWizard;
_optionChanged(args: DashboardOptionChangedArgs): any;
protected createDataSourceWizard(connectionStrings: IDashboardDataSourceWizardConnectionStrings, federationSources: IDashboardDataSourceInfo[]): DashboardDataSourceWizardBase;
private _createEditJsonDataSourceWizard;
private _createEditMongoDBDataSourceWizard;
protected _customizeDataSourceWizard(customizationType: DataSourceWizardType, wizard: PopupWizard): void;
protected _createNewDataSourceWizardIterator(factory: PageFactory, stateManager: StateManager): PageIterator;
private _initializeDataSourceWizard;
_showEditJsonDataSourceDialog(jsonDataSource: JsonDataSource): void;
private _initAndRunJsonSourceWizard;
_showEditMongoDBDataSourceDialog(mongoDBDataSource: MongoDBDataSource): void;
private _initAndRunMongoDBSourceWizard;
private _renderAndStartWizard;
}
export declare class MultiQueryDataSourceWizardExtension extends DataSourceWizardExtension {
constructor(dashboardControl: DashboardControl, options?: DataSourceWizardExtensionOptions);
protected _createNewDataSourceWizardIterator(factory: PageFactory, stateManager: StateManager): PageIterator;
protected createDataSourceWizard(connectionStrings: IDashboardDataSourceWizardConnectionStrings, federationSources: IDashboardDataSourceInfo[]): DashboardDataSourceWizardBase;
}