import { IArea, IElementViewModel, IMargins, INumericSize, ISurfaceContext, Margins, SurfaceElementArea } from '@devexpress/analytics-core/analytics-elements'; import { FieldListProvider, IHoverInfo, ISelectionTarget, IUnitProperties, MeasureUnit, SurfaceSelection } from '@devexpress/analytics-core/analytics-internal'; import { IModelReady, IModelSerializer, UndoEngine } from '@devexpress/analytics-core/analytics-utils'; import * as ko from 'knockout'; import { IEnumType } from '../../common/customTypes'; import { ExportOptions } from '../../common/exportOptions/exportOptions'; import { BandSurface, BandViewModel } from '../bands/xrBand'; import { BandsHolder } from '../bands/_bandHolder'; import { CalculatedField } from '../dataObjects/calculatedField'; import { ObjectsStorage } from '../dataObjects/objectStorage'; import { ObjectStorageItem } from '../dataObjects/objectStorageItem'; import { ParameterPanelLayoutItem } from '../dataObjects/parameters/layoutItems'; import { Parameter } from '../dataObjects/parameters/parameter'; import { ReportParameterHelper } from '../helpers/reportParameterHelper'; import { DataSourceHelper } from '../helpers/_dataSourceHelper'; import { StylesHelper } from '../helpers/_styleHelper'; import { LocalizationItem } from '../localization/_localization'; import { ReportLocalizationEngine } from '../localization/_localizationEngine'; import { IDataSourceRefInfo } from '../utils/inititalizer'; import { ComponentsModel } from './properties/components'; import { ExtensionModel } from './properties/extension'; import { ImageResourceItem } from './properties/imageResourceItem'; import { FormattingRule } from './properties/formattingrules'; import { StyleModel } from './properties/style'; import { WatermarkModel } from './properties/watermark'; import { ControlType, ReportBandsType } from './utils/_controlTypes'; import { ReportLocalizationProvider } from './utils/_localizationUtils'; import { XRCrossBandControlViewModel, XRCrossBandSurface } from './xrCrossband'; import { XRReportElementViewModel } from './xrReportelement'; import { DisplayNameProvider } from '../internal/_displayNameProvider'; export declare class ReportViewModel extends XRReportElementViewModel implements IModelReady { static availableDataSourceTypes: string[]; static bandsTypeOrdering: ReportBandsType[]; static unitProperties: string[]; static defaultPageSize: { width: number; height: number; }; static createObjectStorage(_componentStorage: ko.ObservableArray, _objectStorage: ko.ObservableArray, collectSubscription?: (subscription: ko.Subscription) => any): ko.ObservableArray; private _getDpi; private _recalculateUnits; private _updatePageSize; enumerateComponents(process?: (target: ko.ObservableArray) => void): any[]; createLocalizationProvider(): ReportLocalizationProvider; createReportViewModel(report: any, serializer?: IModelSerializer): ReportViewModel; findStyle(styleName: string): StyleModel; _getBandForToc(bands: BandViewModel[]): BandViewModel; getOrCreateBandForToC(createNew?: boolean): { band: BandViewModel; canAdd: boolean; }; canAddToC(): boolean; _initializeBands(): void; isPropertyDisabled(name: string): boolean; dispose(): void; beforeDeserialize(reportModel: any): void; constructor(report: any, serializer?: IModelSerializer, knownEnums?: IEnumType[]); shouldSerialize(propertyName: string, viewModel: ReportViewModel): boolean; isLocalized(): boolean; initialize(): void; getNearestParent(target: IElementViewModel): ReportViewModel; addChild(control: IElementViewModel): void; removeChild(control: IElementViewModel): void; clearLocalization(culture?: string): void; serialize(): any; save(): any; getPath(propertyName: string): string; clone(dataSourceRefsFromParent?: IDataSourceRefInfo[]): ReportViewModel; designerOptions: { showDesignerHints?: ko.Observable; showExportWarnings?: ko.Observable; showPrintingWarnings?: ko.Observable; }; paperKind: ko.Observable | ko.Computed; isStyleProperty(propertyName: string): boolean; onSave: (data: any) => void; dataSourceHelper: ko.Observable; displayNameProvider: ko.Observable; dataBindingsProvider: ko.Observable; stylesHelper: ko.Observable; dataSource: ko.Observable; dataMember: ko.Observable | ko.Computed; styles: ko.ObservableArray; measureUnit: ko.Observable | ko.Computed; snapGridSize: ko.Observable | ko.Computed; snappingMode?: ko.Observable | ko.Computed; pageWidthF: ko.Observable | ko.Computed; pageHeightF: ko.Observable | ko.Computed; margins: Margins; bands: ko.ObservableArray; crossBandControls: ko.ObservableArray; parameters: ko.ObservableArray; parameterPanelLayoutItems: ko.ObservableArray; parameterHelper: ReportParameterHelper; objectsStorageHelper: ObjectsStorage; objectStorage: ko.ObservableArray; _objectStorage: ko.ObservableArray; _componentStorage: ko.ObservableArray; _dataBindingMode: ko.Observable | ko.Computed; get dataBindingMode(): string; extensions: ko.ObservableArray; imageResources: ko.ObservableArray; formattingRuleSheet: ko.ObservableArray; components: ko.ObservableArray; calculatedFields: ko.ObservableArray; watermarks: ko.ObservableArray; scriptsSource: ko.Observable | ko.Computed; scriptLanguage: ko.Observable | ko.Computed; private _getReportUnit; private _update; surface: ReportSurface; exportOptions: ExportOptions; isModelReady: ko.Computed; scriptReferencesString: ko.Computed; landscape: ko.Observable | ko.Computed; _scriptReferencesString: ko.Observable | ko.Computed; key: ko.Computed; dataSourceRefs: Array; knownEnums?: Array; rtlLayout: ko.Observable | ko.Computed; drawWatermark: ko.Observable | ko.Computed; displayNameObject: ko.Observable; _localizationItems: ko.ObservableArray; _localization: ReportLocalizationEngine; language: ko.Observable; } export declare class ReportSurface extends SurfaceElementArea implements ISelectionTarget, ISurfaceContext { private report; static _unitProperties: IUnitProperties; private _createMargin; private _updateWatermarkImageNaturalSize; get _unitAbsoluteRect(): IArea; dispose(): void; private _watermarkSubscriptions; get watermark(): WatermarkModel; private _assignSelectedWatermark; constructor(report: ReportViewModel, zoom?: ko.Observable); surfaceContextMenuHandler: (selection: SurfaceSelection, surface: ReportSurface, e: PointerEvent) => void; getChildrenCollection(): ko.ObservableArray; isFit: (dropTarget: ISelectionTarget) => boolean; canDrop(): boolean; wrapRtlProperty(data: { value: ko.Observable | ko.Computed; }, undoEngine: ko.Observable | ko.Computed, element: Element): { value: ko.Observable | ko.Computed; }; clickHandler(selection: SurfaceSelection, e: PointerEvent): void; reportContextMenuHandler(selection: SurfaceSelection, e: PointerEvent): void; allowMultiselect: boolean; locked: boolean; focused: ko.Observable; selected: ko.Observable; templateName: ko.Observable; bandsHolder: BandsHolder; underCursor: ko.Observable; crossBandControls: ko.ObservableArray; measureUnit: ko.Observable | ko.Computed; snappingMode: ko.Observable | ko.Computed; zoom: ko.Observable | ko.Computed; margins: IMargins; dpi: ko.Observable | ko.Computed; rtl: ko.Observable | ko.Computed; pageWidthWithoutMargins: ko.Computed; ghostContainerOffset: ko.Computed; checkParent(surfaceParent: ISelectionTarget): boolean; effectiveHeight: ko.Computed; minHeight: ko.Observable; maxMarkerWidth: ko.Observable; pageWidth: ko.Observable | ko.Computed; pageHeight: ko.Observable | ko.Computed; validationMode: ko.Observable; parent: ISelectionTarget; leftMarginOffset: ko.Computed; rightMarginOffset: ko.Computed; rightMarginResizableOffset: ko.Computed; rightMarginResizeOptions: (undoEngine: ko.Observable, element: Element) => {}; leftMarginResizeOptions: (undoEngine: ko.Observable, element: Element) => {}; leftMarginResizableOffset: ko.Computed; drawWatermark: ko.Observable | ko.Computed; _watermarkImageNaturalSize: ko.Observable; _watermarkTextRenderingResult: ko.Observable | ko.Computed; }