import { ISerializationInfoArray, ModelSerializer } from '@devexpress/analytics-core/analytics-utils'; import * as ko from 'knockout'; import { IDashboardComponent } from '../internal/_dashboard-component-name-generator'; import { TypedSerializableModel } from '../serializable-model'; import { CalculatedField } from './calculated-field'; export interface IDataSourceConsumer { dataSource: ko.Observable; dataMember: ko.Observable; } export declare abstract class DataSource extends TypedSerializableModel implements IDashboardComponent { hasCalculatedFields: boolean; supportDataMembers: boolean; name: ko.Observable; componentName: ko.Observable; calculatedFields: ko.ObservableArray; hasFilter: boolean; filter: ko.Observable; abstract get _isFederationDataProvider(): boolean; constructor(dataSourceJSON?: any, serializer?: ModelSerializer); abstract getDisplayNamePrefix(): string; abstract getInfo(): ISerializationInfoArray; getJson(): any; getUniqueNamePrefix(): string; }