﻿/**
* DevExpress HTML/JS Reporting (viewer\parameters\previewParametersViewModel.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 { IEnumType } from '../../common/customTypes';
import { ReportPreview } from '../reportPreview';
import { IKeyValuePair } from '../../common/types';
import { PreviewParameterHelper } from './previewParameterHelper';
import { Disposable, TabInfo } from '@devexpress/analytics-core/analytics-utils';
import * as ko from 'knockout';
export interface IReportParametersInfo {
    shouldRequestParameters?: boolean;
    parameters?: Array<IPreviewParameterInfo>;
    knownEnums?: Array<IEnumType>;
}
export interface IPreviewParameterInfo {
    Path: string;
    Description: string;
    Name: string;
    Value: any;
    TypeName: string;
    ValueInfo?: any;
    MultiValue?: boolean;
    SelectAllValues?: boolean;
    AllowNull?: boolean;
    IsFilteredLookUpSettings?: boolean;
    LookUpValues?: Array<ILookUpValue>;
    Visible?: boolean;
    Tag?: any;
}
export interface IRange {
    Start: any;
    End: any;
}
export interface ILookUpValue {
    Description: string;
    Value: any;
}
export declare class PreviewParametersViewModel extends Disposable {
    private _parameters;
    private readonly _visibleParameters;
    private _shouldProcessParameter;
    private _reportPreview;
    private _convertLocalDateToUTC;
    private _getLookUpValueRequest;
    private _getDoneGetLookUpValueHandler;
    private _add;
    private _getFailGetLookUpValueHandler;
    private _setLookUpValues;
    private _getParameterValuesContainedInLookups;
    private _filterParameterValuesContainsInLookups;
    constructor(reportPreview: ReportPreview, parameterHelper?: PreviewParameterHelper, enableKeyboardSupport?: boolean);
    initialize(originalParametersInfo: IReportParametersInfo): void;
    getPathsAfterPath(parameterPath: string): Array<string>;
    serializeParameters(): Array<IKeyValuePair<any>>;
    restore: () => void;
    getInfo: ko.Observable<any>;
    isPropertyDisabled(name: string): boolean;
    getLookUpValues(changedParameterPath: string): void;
    submit: () => void;
    validateAndSubmit: (params: any) => void;
    needToRefreshLookUps: ko.Observable<boolean>;
    isEmpty: ko.Observable<boolean>;
    processInvisibleParameters: boolean;
    parametersLoading: ko.Observable<boolean>;
    tabInfo: TabInfo;
    popupInfo: any;
    parameterHelper: PreviewParameterHelper;
}
