﻿/**
* DevExpress HTML/JS Reporting (viewer\binding\jsReportViewerBindingBase.d.ts)
* Version:  26.1.3
* Build date: Jun 16, 2026
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* License: https://www.devexpress.com/Support/EULAs/universal.xml
*/
import { JSDesignerBindingCommon, IJSDesignerBindingCommonOptions, ICommonBindingCustomizationHandler, DxDeferred } from '@devexpress/analytics-core/analytics-internal-native';
import { JSReportViewer } from './jsReportViewer';
import { JSReportViewerBase } from './jsReportViewerBase';
import { PreviewDisposableModelBase } from '../internal/_previewModelBase';
import { IPreviewCustomizationHandler, IWebDocumentViewerSettings } from '../utils/initializer';
import { IPreviewCustomizationCallbacksPublic } from '../utils/publicCallbacks';
export interface IJSReportViewerCallbacks<T extends JSReportViewerBase> extends IPreviewCustomizationHandler, ICommonBindingCustomizationHandler<T>, IPreviewCustomizationCallbacksPublic<T> {
}
export interface IReportViewerOptions<T extends JSReportViewerBase = JSReportViewer> extends IJSDesignerBindingCommonOptions, IWebDocumentViewerSettings {
    viewerModel?: any;
    reportPreview?: any;
    callbacks?: IJSReportViewerCallbacks<T>;
    parts?: any[];
    handlerUri?: string;
    requestOptions?: {
        host?: string;
        invokeAction: string;
        getLocalizationAction?: string;
    };
    documentId?: string;
    reportId?: string;
    reportUrl?: any;
    keepReportOnComponentDisposal?: boolean;
}
export declare abstract class JSReportViewerBindingBase<T extends JSReportViewerBase = JSReportViewerBase> extends JSDesignerBindingCommon<T, IReportViewerOptions<T>> {
    private _shouldApplyBindings;
    protected _callbacks: any;
    private _deferreds;
    private _closeReportOnDisposing;
    dispose(): void;
    private _initializeCallbacks;
    private _applyBindings;
    constructor(_options: IReportViewerOptions<T>, customEventRaiser?: (eventName: string, args?: any) => void, _shouldApplyBindings?: boolean);
    _createModel(element: HTMLElement): DxDeferred<PreviewDisposableModelBase>;
    abstract _createSender(viewerModel: any): T;
    _showTroubleshootingPageWrapper(): boolean;
    applyBindings(element: HTMLElement): void;
}
