import { ISurfaceContext, SerializableModel } from '@devexpress/analytics-core/analytics-elements'; import { ISelectionProvider } from '@devexpress/analytics-core/analytics-internal'; import { ISerializationInfoArray, ModelSerializer } from '@devexpress/analytics-core/analytics-utils'; import { IExpressionEditorCategory, Tools } from '@devexpress/analytics-core/analytics-widgets-internal'; import * as ko from 'knockout'; import { CellCreator, CrossTabCellInfo, ICrossTabCell } from './crossTab/cellCreator'; import { CrossTabColumnDefinitionsModel, CrossTabRowDefinitionsModel, DefinitionUpdater } from './crossTab/definitions'; import { DataFieldLayout } from './crossTab/enums'; import { ControlParameter } from './properties/controlParameter'; import { StyleModel } from './properties/style'; import { ControlType } from './utils/_controlTypes'; import { XRControlSurface, XRControlViewModel } from './xrControl'; import { XRCellsurface, XRCrossTabCellViewModel } from './xrCrossTabCell'; import { XRReportElementViewModel } from './xrReportelement'; export declare class XRCrossTabViewModel extends XRControlViewModel { private _getCreator; private _getArray; private _initStyles; private _calcSize; constructor(model: object, parent: XRReportElementViewModel, serializer?: ModelSerializer); removeChild(cell: XRCrossTabCellViewModel): void; removeField(dataLevel: number, columnLevel: number, rowLevel: number): void; initialize(): void; updateLayout(): void; getFields(): CrossTabFieldModel[]; getNames(): { columnFields: string; rowFields: string; dataFields: string; }; onDelete(): void; beforeDeserialize(): void; isPropertyDisabled(propertyName: string): boolean; applyCells(cellsInfo: CrossTabCellInfo[], initOnly?: boolean): XRCrossTabCellViewModel[]; applyCell(from: CrossTabCellInfo, to: ICrossTabCell): void; insertNewField(collectionName: string, insertPosition: number, fieldName: string, dataFieldLayout?: DataFieldLayout): void; customizeExpressionCategories(tools: Tools, categories: IExpressionEditorCategory[]): void; getPath: (propertyName: string) => string; dependentStyles: StyleModel[]; dataSource: ko.Observable; width: ko.Computed; height: ko.Computed; _cells: ko.ObservableArray; cells: ko.ObservableArray; rowFields: ko.ObservableArray; columnFields: ko.ObservableArray; dataFields: ko.ObservableArray; _rowDefinitions: ko.ObservableArray; _columnDefinitions: ko.ObservableArray; layoutOptions: CrossTabLayoutOptionsModel; cellCreator: CellCreator; definitionUpdater: DefinitionUpdater; isModelReady: ko.Computed; originalPivotGridLayout: ko.Observable; controlParameters: ko.ObservableArray; filterString: any; _filterString: any; } export declare class CrossTabLayoutOptionsModel extends SerializableModel { parent: XRCrossTabViewModel; constructor(model: object, parent: XRCrossTabViewModel, serializer: ModelSerializer); isPropertyDisabled(name: string): boolean; getInfo(): ISerializationInfoArray; cornerHeaderDisplayMode: ko.Observable; dataFieldLayout: ko.Observable; columnTotalsPosition: ko.Observable; rowTotalsPosition: ko.Observable; columnTotalHeaderPosition: ko.Observable; rowTotalHeaderPosition: ko.Observable; hierarchicalRowLayout: ko.Observable; } export declare class CrossTabFieldModel extends SerializableModel { constructor(model: object, parent: XRCrossTabViewModel, serializer: ModelSerializer, name: string); setFieldName(fullPath: string): void; getInfo(): ISerializationInfoArray; getPath: (propertyName: string) => string; isPropertyDisabled: (propertyName: string) => boolean; parent: XRCrossTabViewModel; name: ko.Computed; fieldName: ko.Observable; crossTabSortBySummaryInfo: any; } export declare class CrossTabDataFieldModel extends CrossTabFieldModel { getInfo(): ISerializationInfoArray; } export declare class XRCrossTabSurface extends XRControlSurface { constructor(control: XRCrossTabViewModel, context: ISurfaceContext); selectLine(selection: ISelectionProvider, cell: XRCrossTabCellViewModel, isMultiSelect: boolean, isRow: boolean): void; controls: ko.ObservableArray; }