/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2025 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { Chart } from '@progress/kendo-react-charts';
import { ChartWizardArea } from '@progress/kendo-charts';
import { ChartWizardCategoryAxisItem } from '@progress/kendo-charts';
import { ChartWizardDataCell } from '@progress/kendo-charts';
import { ChartWizardDataRow } from '@progress/kendo-charts';
import { ChartWizardDefaultState } from '@progress/kendo-charts';
import { ChartWizardLegend } from '@progress/kendo-charts';
import { ChartWizardSeriesItem } from '@progress/kendo-charts';
import { ChartWizardSeriesItemLabel } from '@progress/kendo-charts';
import { ChartWizardSeriesStack } from '@progress/kendo-charts';
import { ChartWizardSeriesType } from '@progress/kendo-charts';
import { ChartWizardState } from '@progress/kendo-charts';
import { ChartWizardTitle } from '@progress/kendo-charts';
import { ChartWizardValueAxisItem } from '@progress/kendo-charts';
import { DataColumn } from '@progress/kendo-charts';
import { DataRow } from '@progress/kendo-charts';
import { GridHandle } from '@progress/kendo-react-grid';
import { ImageExportOptions } from '@progress/kendo-drawing';
import { PDFOptions } from '@progress/kendo-drawing/pdf';
import * as React_2 from 'react';
import { WindowProps } from '@progress/kendo-react-dialogs';

/**
 * The KendoReact ChartWizard component.
 */
export declare const ChartWizard: React_2.ForwardRefExoticComponent<ChartWizardProps & React_2.RefAttributes<ChartWizardHandle | null>>;

export { ChartWizardArea }

export { ChartWizardCategoryAxisItem }

export { ChartWizardDataCell }

export { ChartWizardDataRow }

export { ChartWizardDefaultState }

/**
 * Represents the `ref` object of the `ChartWizard` component.
 **/
export declare interface ChartWizardHandle {
    /**
     * The Chart instance.
     */
    chart: Chart | null;
    /**
     * @hidden
     *
     * The current state of the ChartWizard.
     */
    state: ChartWizardState;
}

export { ChartWizardLegend }

/**
 * The props of the KendoReact ChartWizard component.
 */
export declare interface ChartWizardProps {
    /**
     * The data to be visualized in the ChartWizard component.
     */
    data?: ChartWizardDataRow[];
    /**
     * The event that will be fired when the ChartWizard component is closed.
     */
    onClose?: () => void;
    /**
     * Fires when the Chart is about to be exported. Can be prevented.
     */
    onExport?: (event: ExportEvent) => void;
    /**
     * The export options for the ChartWizard component.
     */
    exportOptions?: ExportOptions;
    /**
     * The default state of the ChartWizard component.
     */
    defaultState?: ChartWizardDefaultState;
    /**
     * The component that will be used to render the ChartWizard window.
     */
    window?: React.ComponentType<WindowProps>;
    /**
     * Fires when the ChartWizard component state changes.
     */
    onStateChange?: (state: ChartWizardState) => void;
    /**
     * The state of the ChartWizard component.
     */
    state?: ChartWizardState;
}

export { ChartWizardSeriesItem }

export { ChartWizardSeriesItemLabel }

export { ChartWizardSeriesStack }

export { ChartWizardSeriesType }

export { ChartWizardState }

export { ChartWizardTitle }

export { ChartWizardValueAxisItem }

/**
 * Create a state object from the provided data and series type.
 *
 * @param data - The data to be visualized in the ChartWizard component.
 * @param seriesType - The series type of the ChartWizard component.
 * @returns The state object.
 */
export declare const createState: (data: ChartWizardDataRow[], seriesType: ChartWizardSeriesType) => ChartWizardState;

export { DataColumn }

export { DataRow }

/**
 * Arguments for the `export` event on the Chart Wizard.
 */
export declare class ExportEvent extends PreventableEvent {
    /**
     * The export options on the Chart Wizard.
     */
    exportOptions: ExportOptions;
    /**
     * The current Chart chart instance to be exported.
     */
    chart: Chart;
    constructor(chart: Chart, exportOptions: ExportOptions);
}

/**
 * The export options for the Chart Wizard.
 */
export declare interface ExportOptions {
    fileName?: string;
    pdf?: PDFOptions;
    image?: ImageExportOptions;
}

/**
 * Maps the Grid selectedState to a more general DataRows type to be displayed in the Chart Wizard.
 *
 * The selectedKeys can be either row keys or cell keys.
 *
 * @returns DataRow array that can be passed to getWizardDataFromDataRows in order to bind the Chart Wizard.
 */
export declare function getGridSelectedRows(args: {
    grid: GridHandle | null;
    data: any[];
    selectedState: {
        [id: string]: boolean | number[];
    };
    dataItemKey: string;
}): DataRow[];

export declare const getWizardDataFromDataRows: (dataRows: DataRow[]) => ChartWizardDataRow[];

/**
 * Maps the Grid selectedState to data to be displayed in the Chart Wizard.
 *
 * Supports both row and cell selection.
 *
 * @returns collection that can be used as Chart Wizard.
 */
export declare const getWizardDataFromGridSelection: (args: {
    grid: GridHandle | null;
    data: any[];
    selectedState: {
        [id: string]: boolean | number[];
    };
    dataItemKey: string;
}) => ChartWizardDataRow[];

/**
 * @hidden
 */
declare abstract class PreventableEvent {
    private prevented;
    /**
     * Prevents the default action for a specified event.
     * In this way, the source component suppresses the built-in behavior that follows the event.
     */
    preventDefault(): void;
    /**
     * Returns `true` if the event was prevented by any of its subscribers.
     *
     * @returns - Returns `true` if the default action was prevented.
     * Otherwise, returns `false`.
     */
    isDefaultPrevented(): boolean;
}

export { }