﻿/**
* DevExpress HTML/JS Reporting (viewer\internal\_previewRequestWrapper.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 { DxPromise, DxXHR } from '@devexpress/analytics-core/analytics-internal-native';
import { IKeyValuePair } from '../../common/types';
import { IBookmarkNode } from '../documentMap/_documentMapModel';
import { IEditingFieldHtmlProvider, IEditingFieldSerializedModel } from '../editing/editingField';
import { ParametersPanelModelBase } from '../parameters/parametersPanelModelBase';
import { ReportPreview } from '../reportPreview';
import { SearchViewModel } from '../search/_searchViewModel';
import { IPreviewCustomizationHandler, IPreviewInitialize } from '../utils/initializer';
import { IBrickNode, IDocumentOperationResult } from '../utils/utils';
import { IGetPageRequest } from './_page';
import { IDocumentBuildStatus, IExportProgressStatus } from './_previewHandlersHelper';
export interface IGetPageResponse extends IGetBrickMapResult {
    width: number;
    height: number;
    base64string: string;
}
export interface IGetBrickMapResult {
    brick: IBrickNode;
    columnWidthArray: Array<number>;
}
export declare enum ColumnSortOrder {
    None = 0,
    Ascending = 1,
    Descending = 2
}
export interface ISortingFieldInfo {
    fieldName?: string;
    sortOrder?: ColumnSortOrder;
}
export interface ISignatureItem {
    reason?: string;
    location?: string;
    contactInfo?: string;
    validFrom?: string;
    validTo?: string;
    issuer?: string;
    image?: string;
    key?: string;
    accessibleDescription?: string;
}
export interface ISignatureField {
    label?: string;
    value: string;
    key: 'reason' | 'location' | 'contactInfo' | 'issuer' | 'validity';
}
export interface ISignatureDisplayItem {
    key: string;
    image: string;
    displayName: string;
    fields: ISignatureField[];
    accessibleDescription?: string;
}
export interface IGeneratedDocumentData {
    documentMap?: IBookmarkNode;
    drillDownKeys?: Array<IKeyValuePair<boolean>>;
    sortingState?: Array<IKeyValuePair<Array<ISortingFieldInfo>>>;
    exportOptions?: string;
    canPerformContinuousExport?: boolean;
    editingFields?: Array<IEditingFieldSerializedModel>;
    displayName?: string;
    errors?: any;
    pageCount?: number;
    signatures?: ISignatureItem[];
}
export interface IAITextTranslationResponse {
    chunkIndex: number;
    errorMessage: string;
    requestAgain: boolean;
    success: boolean;
    text: string;
    totalChunks: string;
    language: string;
}
export declare class PreviewRequestWrapper implements IEditingFieldHtmlProvider {
    private _callbacks?;
    private _reportPreview;
    private _parametersModel;
    private _searchModel;
    constructor(handlers?: {
        [key in keyof PreviewRequestWrapper]?: PreviewRequestWrapper[key];
    }, _callbacks?: IPreviewCustomizationHandler);
    static getProcessErrorCallback(reportPreview?: ReportPreview, defaultErrorMessage?: string, showMessage?: boolean): (message: string, jqXHR: DxXHR, textStatus: string) => void;
    static getPage(url: string, ignoreError?: () => boolean): DxPromise<IGetPageResponse>;
    initialize(reportPreview: ReportPreview, parametersModel: ParametersPanelModelBase, searchModel?: SearchViewModel): void;
    findTextRequest(text: string, ignore: boolean): DxPromise<any>;
    startSearch(text: string, ignore: boolean): DxPromise<any>;
    getSearchStatus(searchOperationId: string, startIndex: number, resultLimitPerRequest: number, ignore: boolean): DxPromise<any>;
    stopSearch(searchOperationId: string, ignore: boolean): DxPromise<any>;
    translateTextRequest(text: string, toLanguage: string, isWholeDocument: boolean, prevResponse?: string, currentChunkPosition?: number, summaryTranslation?: boolean, ignore?: boolean): DxPromise<IAITextTranslationResponse>;
    translateDocumentInPlaseRequest(brickIndexes: string[], toLanguage: string, isWholeDocument: boolean, prevResponse?: string, currentChunkPosition?: number, pageIndex?: number, aiCustomDocumentStorageId?: string, ignore?: boolean): DxPromise<any>;
    summarizeTextRequest(text: string, isWholeDocument: boolean, prevResponse?: string, currentChunkPosition?: number, language?: string, ignore?: boolean): DxPromise<any>;
    stopBuild(id: string): void;
    sendCloseRequest(documentId: string, reportId?: string): void;
    startBuildRequest(shouldIgnoreError?: () => boolean): DxPromise<any>;
    getBuildStatusRequest(documentId: string, shouldIgnoreError: () => boolean, isFirstRequest: boolean, firstPageRequest: IGetPageRequest): DxPromise<IDocumentBuildStatus>;
    getDocumentData(documentId: string, shouldIgnoreError: () => boolean): DxPromise<IGeneratedDocumentData>;
    customDocumentOperation(documentId: string, serializedExportOptions: string, editindFields: any[], customData: string, hideMessageFromUser?: boolean): DxPromise<IDocumentOperationResult>;
    openReport(reportName: string): DxPromise<IPreviewInitialize>;
    drillThrough(drillThroughData: string): DxPromise<IPreviewInitialize>;
    goToReport(customData: string): DxPromise<IPreviewInitialize>;
    getStartExportOperation(arg: string, shouldIgnoreError: () => boolean): DxPromise<string>;
    getExportResult(requestData: any, shouldIgnoreError: () => boolean, method?: string): DxPromise<Response>;
    cancelExportRequest(operationId: string, shouldIgnoreError: () => boolean): DxPromise<void>;
    getExportStatusRequest(operationId: string): DxPromise<IExportProgressStatus>;
    getEditingFieldHtml(value: unknown, editingFieldIndex: number): DxPromise<string>;
}
