﻿/**
* DevExpress HTML/JS Reporting (viewer\ai\_aiPanelModel.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 { ArrayPropertyChangedEventArgs, BaseRenderingModel, PropertyChangedEventArgs } from '@devexpress/analytics-core/analytics-serializer-native';
import { DxDeferred } from '@devexpress/analytics-core/analytics-internal-native';
import { TabInfo } from '@devexpress/analytics-core/analytics-utils-native';
import { Properties as DxMenuOptions } from 'devextreme/ui/menu';
import { ReportPreview } from '../reportPreview';
import { PreviewPage } from '../internal/_page';
import { IBrickNode } from '../utils/utils';
import { AILanguageInfo } from '../settings';
import { IAIPanelViewModel, TextSourceTarget } from './_aiPanel.viewmodel';
import { IAITextTranslationResponse } from '../internal/_previewRequestWrapper';
import { IPreviewAISettings } from '../utils/initializer';
import { IProgressHandler } from '../internal/_progressViewModel';
export type SurfacePosition = {
    topP: string;
    leftP?: string;
    rightP?: string;
    heightP: string;
    widthP: string;
};
export declare class AITabInfo extends TabInfo {
    constructor(model: any, template: string, visible: boolean);
}
export declare class AIPanelViewModel extends BaseRenderingModel<IAIPanelViewModel> {
    reportPreview: ReportPreview;
    settings: IPreviewAISettings;
    tabInfo: TabInfo;
    aiProcessingRequestDeferred: DxDeferred<any>;
    tranlsatePagesDeferred: DxDeferred[];
    ignore: boolean;
    aiProcessingResultText: string;
    selectedLanguage: string;
    selectedTarget: string;
    selectedPage: number;
    proceedForAllChunks: boolean;
    warningTextLimitPopupVisible: boolean;
    pageSelectBoxVisible: boolean;
    proceedNextButtonClick: (e: any) => void;
    copyButtonTemplate: string;
    limitExceededWarningMsg: string;
    model: AIPanelViewModel;
    languages: AILanguageInfo[];
    translationEnabled: boolean;
    inlineTranslationEnabled: boolean;
    summarizationEnabled: boolean;
    currentPageSelectionSubcriber: () => void;
    loading: boolean;
    TextSourceTargetText: {
        Document: any;
        Page: any;
        Selection: any;
    };
    InvalidLanguageErrorMsg: string;
    SummarizeActionText: string;
    TranslateActionText: string;
    TranslateDocumentInPlaceText: string;
    warningMsg: string;
    targets: {
        key: TextSourceTarget;
        text: any;
    }[];
    smartTagAIMenu: DxMenuOptions;
    languageSelectBoxComponent: any;
    pagesListDataSource: {
        key: number;
        text: string;
    }[];
    prevRespose: string;
    get _currentPage(): PreviewPage;
    constructor(reportPreview: ReportPreview, settings: IPreviewAISettings);
    expandAITabPanel(): void;
    get progressBar(): IProgressHandler;
    get documentHasTranslation(): boolean;
    get IsBrickSelected(): boolean;
    handleSelectedBrickChangedEvent(selectedBricks: IBrickNode[]): void;
    updateAIMenuToPage(): void;
    updateViewModel(args: PropertyChangedEventArgs<AIPanelViewModel> | ArrayPropertyChangedEventArgs<AIPanelViewModel>): void;
    createViewModel(): IAIPanelViewModel;
    getLoadPanelOptions(element: HTMLElement): {
        visible: boolean;
        position: {
            of: HTMLElement;
        };
        container: HTMLElement;
    };
    onPropertyChanged(args: PropertyChangedEventArgs<AIPanelViewModel> | ArrayPropertyChangedEventArgs<AIPanelViewModel>): void;
    get translateWholeDocument(): boolean;
    _preparetextProcessingButtonTemplate(data: any, container: any): void;
    _getTextContentToProcess(): string;
    copyResultClick(e: any): void;
    onSummarizeClick(): void;
    onTranslateClick(language: string, translateInPlace?: boolean, allDocument?: boolean): void;
    revertPageToOriginal(page: PreviewPage): void;
    revertToOriginal(allPages?: boolean): void;
    clearTranslatePagesDeffereds(): void;
    cancelDocumentTranslation(): void;
    startProgressBar(): void;
    translateDocument(language: string): void;
    translateDocumentPage(brickIndexes: string[], pageIndex: number, language: string, aiCustomDocumentStorageId?: string, prevResponse?: string, currentChunkPosition?: number): void;
    translateText(text: string, prevResponse?: string, currentChunkPosition?: number): void;
    summarizeText(text: string, language?: string, prevResponse?: string, currentChunkPosition?: number): void;
    _handeTranslateInPlaseResult(result: any, page: PreviewPage, nextChunkRequestFunc: (prevResultText: string, nextChunkPosition: number, aiCustomDocumentStorageId?: string) => void): void;
    _handleTextProcessingResult(result: IAITextTranslationResponse, nextChunkRequestFunc: (prevResultText: string, nextChunkPosition: number) => void, isSummary?: boolean): void;
    _updatePageImage(page?: PreviewPage): void;
    resizeResultArea(): void;
    failRequestHandler(errorMessage: string, clear: boolean): void;
    clearProcessing(clearContent?: boolean): void;
    disabled(): boolean;
    dispose(): void;
}
