﻿/**
* DevExpress HTML/JS Reporting (designer\controls\xrReport.d.ts)
* Version:  20.2.13
* Build date: Apr 10, 2023
* Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
* License: https://www.devexpress.com/Support/EULAs/universal.xml
*/
import { XRReportElementViewModel } from './xrReportelement';
import { IModelSerializer, UndoEngine, IModelReady } from '@devexpress/analytics-core/analytics-utils';
import * as ko from 'knockout';
import { ElementViewModel, ISurfaceContext, IArea, Margins, IElementViewModel, SurfaceElementArea, IMargins } from '@devexpress/analytics-core/analytics-elements';
import { IUnitProperties, IHoverInfo, ISelectionTarget } from '@devexpress/analytics-core/analytics-internal';
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<ObjectStorageItem>, _objectStorage: ko.ObservableArray<ObjectStorageItem>, collectSubscription?: (subscription: ko.Subscription) => any): ko.ObservableArray<ObjectStorageItem>;
    private _getDpi;
    private _recalculateUnits;
    enumerateComponents(process?: (target: ko.ObservableArray<any>) => void): any;
    createLocalizationProvider(): ReportLocalizationProvider;
    findStyle(styleName: any): any;
    _getBandForToc(bands: BandViewModel[]): any;
    getOrCreateBandForToC(createNew?: boolean): {
        band: any;
        canAdd: any;
    };
    canAddToC(): any;
    _initializeBands(): void;
    isPropertyDisabled(name: string): boolean;
    dispose(): void;
    preInitProperties(): void;
    constructor(report: any, serializer?: IModelSerializer);
    isLocalized(): boolean;
    initialize(): void;
    getNearestParent(target: any): this;
    addChild(control: IElementViewModel): void;
    removeChild(control: ElementViewModel): void;
    clearLocalization(culture?: string): void;
    serialize(): any;
    save(): any;
    getPath(propertyName: string): string;
    clone(): ReportViewModel;
    paperKind: ko.Observable<string> | ko.Computed<string>;
    isStyleProperty(propertyName: string): boolean;
    onSave: (data: any) => void;
    dataSourceHelper: ko.Observable<DataSourceHelper>;
    dataSource: ko.Observable<ObjectStorageItem>;
    dataMember: ko.Observable<string> | ko.Computed<string>;
    styles: ko.ObservableArray<StyleModel>;
    measureUnit: ko.Observable<string> | ko.Computed<string>;
    snapGridSize: ko.Observable<number> | ko.Computed<number>;
    pageWidth: ko.Observable<number> | ko.Computed<number>;
    pageHeight: ko.Observable<number> | ko.Computed<number>;
    margins: Margins;
    bands: ko.ObservableArray<BandViewModel>;
    crossBandControls: ko.ObservableArray<XRCrossBandControlViewModel>;
    parameters: ko.ObservableArray<Parameter>;
    parameterHelper: ReportParameterHelper;
    objectsStorageHelper: ObjectsStorage;
    objectStorage: ko.ObservableArray<ObjectStorageItem>;
    _objectStorage: ko.ObservableArray<ObjectStorageItem>;
    _componentStorage: ko.ObservableArray<ObjectStorageItem>;
    _dataBindingMode: ko.Observable<string> | ko.Computed<string>;
    readonly dataBindingMode: string;
    extensions: ko.ObservableArray<ExtensionModel>;
    formattingRuleSheet: ko.ObservableArray<FormattingRule>;
    components: ko.ObservableArray<ComponentsModel>;
    calculatedFields: ko.ObservableArray<CalculatedField>;
    scriptsSource: ko.Observable<string> | ko.Computed<string>;
    scriptLanguage: ko.Observable<string> | ko.Computed<string>;
    private _getReportUnit;
    private _update;
    surface: ReportSurface;
    exportOptions: ExportOptions;
    isModelReady: ko.Computed<boolean>;
    scriptReferencesString: ko.Computed<string>;
    landscape: ko.Observable<boolean> | ko.Computed<boolean>;
    _scriptReferencesString: ko.Observable<string> | ko.Computed<string>;
    key: ko.Computed<string>;
    dataSourceRefs: Array<IDataSourceRefInfo>;
    rtlLayout: ko.Observable<string> | ko.Computed<string>;
    drawWatermark: ko.Observable<boolean> | ko.Computed<boolean>;
    watermark: WatermarkModel;
    displayNameObject: ko.Observable<string>;
    _localizationItems: ko.ObservableArray<LocalizationItem>;
    _localization: ReportLocalizationEngine;
    language: ko.Observable<string>;
}
export declare class ReportSurface extends SurfaceElementArea<ReportViewModel> implements ISelectionTarget, ISurfaceContext {
    static _unitProperties: IUnitProperties<ReportViewModel>;
    private _createMargin;
    private _updateWatermarkImageNaturalSize;
    readonly _unitAbsoluteRect: IArea;
    dispose(): void;
    constructor(report: ReportViewModel, zoom?: ko.Observable<number>);
    getChildrenCollection(): ko.ObservableArray<import("../bands/xrBand").BandSurface>;
    isFit(dropTarget: ISelectionTarget): boolean;
    canDrop(): boolean;
    wrapRtlProperty(data: {
        value: ko.Observable | ko.Computed;
    }, undoEngine: ko.Observable<UndoEngine> | ko.Computed<UndoEngine>, element: Element): any;
    allowMultiselect: boolean;
    locked: boolean;
    focused: ko.Observable<boolean>;
    selected: ko.Observable<boolean>;
    templateName: ko.Observable<string>;
    bandsHolder: BandsHolder;
    underCursor: ko.Observable<IHoverInfo>;
    crossBandControls: ko.ObservableArray<XRCrossBandSurface>;
    measureUnit: ko.Observable<string> | ko.Computed<string>;
    zoom: ko.Observable<number> | ko.Computed<number>;
    margins: IMargins;
    dpi: ko.Observable<number> | ko.Computed<number>;
    rtl: ko.Observable<boolean> | ko.Computed<boolean>;
    pageWidthWithoutMargins: ko.Computed<number>;
    ghostContainerOffset: ko.Computed<number>;
    checkParent(surfaceParent: ISelectionTarget): boolean;
    effectiveHeight: ko.Computed<number>;
    minHeight: ko.Observable<number>;
    maxMarkerWidth: ko.Observable<number>;
    pageWidth: ko.Observable<number> | ko.Computed<number>;
    pageHeight: ko.Observable<number> | ko.Computed<number>;
    validationMode: ko.Observable<boolean>;
    parent: ISelectionTarget;
    leftMarginOffset: ko.Computed<number>;
    rightMarginOffset: ko.Computed<number>;
    rightMarginResizableOffset: ko.Computed<number>;
    rightMarginResizeOptions: (undoEngine: ko.Observable<UndoEngine>, element: Element) => {};
    leftMarginResizeOptions: (undoEngine: ko.Observable<UndoEngine>, element: Element) => {};
    leftMarginResizableOffset: ko.Computed<number>;
    drawWatermark: ko.Observable<boolean> | ko.Computed<boolean>;
    watermark: WatermarkModel;
    _watermarkImageNaturalSize: ko.Observable<{
        width: number;
        height: number;
    }>;
    _watermarkTextRenderingResult: ko.Observable<string> | ko.Computed<string>;
}
import { ObjectStorageItem } from '../dataObjects/objectStorageItem';
import { ReportLocalizationProvider } from './utils/_localizationUtils';
import { DataSourceHelper } from '../helpers/_dataSourceHelper';
import { ReportParameterHelper } from '../helpers/reportParameterHelper';
import { StyleModel } from './properties/style';
import { ObjectsStorage } from '../dataObjects/objectStorage';
import { Parameter } from '../dataObjects/parameters/parameter';
import { ExtensionModel } from './properties/extension';
import { CalculatedField } from '../dataObjects/calculatedField';
import { BandViewModel } from '../bands/xrBand';
import { ReportBandsType } from '../bands/reportBandsType';
import { ComponentsModel } from './properties/components';
import { ExportOptions } from '../../common/exportOptions/exportOptions';
import { IDataSourceRefInfo } from '../utils/inititalizer';
import { XRCrossBandControlViewModel, XRCrossBandSurface } from './xrCrossband';
import { BandsHolder } from '../bands/_bandHolder';
import { WatermarkModel } from './properties/watermark';
import { FormattingRule } from './properties/formattingrules';
import { LocalizationItem, ReportLocalizationEngine } from '../localization/_localization';
