/**
* DevExtreme (ui/pivot_grid_field_chooser.d.ts)
* Version: 21.1.0 (build 21016-0316)
* Build date: Sat Jan 16 2021
*
* Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import '../jquery_augmentation';

import {
    dxElement
} from '../core/element';

import {
    event
} from '../events/index';

import PivotGridDataSource, {
    PivotGridDataSourceField
} from './pivot_grid/data_source';

import Widget, {
    WidgetOptions
} from './widget/ui.widget';

/**
 * Warning! This type is used for internal purposes. Do not import it directly.
 */
export interface dxPivotGridFieldChooserOptions extends WidgetOptions<dxPivotGridFieldChooser> {
    /**
     */
    allowSearch?: boolean;
    /**
     */
    applyChangesMode?: 'instantly' | 'onDemand';
    /**
     */
    dataSource?: PivotGridDataSource;
    /**
     */
    headerFilter?: {
      /**
       * Warning! This type is used for internal purposes. Do not import it directly.
       */
      allowSearch?: boolean,
      /**
       * Warning! This type is used for internal purposes. Do not import it directly.
       */
      height?: number,
      /**
       * Warning! This type is used for internal purposes. Do not import it directly.
       */
      searchTimeout?: number,
      /**
       * Warning! This type is used for internal purposes. Do not import it directly.
       */
      showRelevantValues?: boolean,
      /**
       * Warning! This type is used for internal purposes. Do not import it directly.
       */
      texts?: {
        /**
         * Warning! This type is used for internal purposes. Do not import it directly.
         */
        cancel?: string,
        /**
         * Warning! This type is used for internal purposes. Do not import it directly.
         */
        emptyValue?: string,
        /**
         * Warning! This type is used for internal purposes. Do not import it directly.
         */
        ok?: string
      },
      /**
       * Warning! This type is used for internal purposes. Do not import it directly.
       */
      width?: number
    };
    /**
     */
    height?: number | string | (() => number | string);
    /**
     */
    layout?: 0 | 1 | 2;
    /**
     */
    onContextMenuPreparing?: ((e: { component?: dxPivotGridFieldChooser, element?: dxElement, model?: any, items?: Array<any>, area?: string, field?: PivotGridDataSourceField, event?: event }) => any);
    /**
     */
    searchTimeout?: number;
    /**
     */
    state?: any;
    /**
     */
    texts?: {
      /**
       * Warning! This type is used for internal purposes. Do not import it directly.
       */
      allFields?: string,
      /**
       * Warning! This type is used for internal purposes. Do not import it directly.
       */
      columnFields?: string,
      /**
       * Warning! This type is used for internal purposes. Do not import it directly.
       */
      dataFields?: string,
      /**
       * Warning! This type is used for internal purposes. Do not import it directly.
       */
      filterFields?: string,
      /**
       * Warning! This type is used for internal purposes. Do not import it directly.
       */
      rowFields?: string
    };
}
/**
 */
export default class dxPivotGridFieldChooser extends Widget {
    constructor(element: Element, options?: dxPivotGridFieldChooserOptions)
    constructor(element: JQuery, options?: dxPivotGridFieldChooserOptions)
    /**
     */
    applyChanges(): void;
    /**
     */
    cancelChanges(): void;
    /**
     */
    getDataSource(): PivotGridDataSource;
    /**
     */
    updateDimensions(): void;
}

declare global {
interface JQuery {
    dxPivotGridFieldChooser(): JQuery;
    dxPivotGridFieldChooser(options: "instance"): dxPivotGridFieldChooser;
    dxPivotGridFieldChooser(options: string): any;
    dxPivotGridFieldChooser(options: string, ...params: any[]): any;
    dxPivotGridFieldChooser(options: dxPivotGridFieldChooserOptions): JQuery;
}
}
/**
 * Warning! This type is used for internal purposes. Do not import it directly.
 */
export type Options = dxPivotGridFieldChooserOptions;

/** @deprecated use Options instead */
/**
 * Warning! This type is used for internal purposes. Do not import it directly.
 */
export type IOptions = dxPivotGridFieldChooserOptions;
