import type { GridPrivateOnlyApiCommon } from '@mui/x-data-grid/internals';
import type { GridApiCommon, GridColumnPinningApi, GridDetailPanelApi, GridDetailPanelPrivateApi, GridRowPinningApi, GridRowMultiSelectionApi, GridColumnReorderApi, GridRowProApi } from '@mui/x-data-grid-pro';
import type { GridRowReorderPrivateApi } from '@mui/x-data-grid-pro/internals';
import type { GridInitialStatePremium, GridStatePremium } from "./gridStatePremium.mjs";
import type { GridRowGroupingApi, GridExcelExportApi, GridAggregationApi } from "../hooks/index.mjs";
import type { GridCellSelectionApi } from "../hooks/features/cellSelection/gridCellSelectionInterfaces.mjs";
import type { DataGridPremiumProcessedProps } from "./dataGridPremiumProps.mjs";
import type { GridDataSourcePremiumPrivateApi, GridDataSourceApiPremium } from "../hooks/features/dataSource/models.mjs";
import type { GridAggregationPrivateApi } from "../hooks/features/aggregation/gridAggregationInterfaces.mjs";
import type { GridPivotingApi, GridPivotingPrivateApi } from "../hooks/features/pivoting/gridPivotingInterfaces.mjs";
import type { GridAiAssistantApi } from "../hooks/features/aiAssistant/gridAiAssistantInterfaces.mjs";
import type { GridSidebarApi } from "../hooks/features/sidebar/gridSidebarInterfaces.mjs";
import type { GridChartsIntegrationApi, GridChartsIntegrationPrivateApi } from "../hooks/features/chartsIntegration/gridChartsIntegrationInterfaces.mjs";
import type { GridHistoryApi } from "../hooks/features/history/gridHistoryInterfaces.mjs";
/**
 * The api of Data Grid Premium.
 * TODO: Do not redefine manually the pro features
 */
export interface GridApiPremium extends GridApiCommon<GridStatePremium, GridInitialStatePremium>, GridRowProApi, GridColumnPinningApi, GridDetailPanelApi, GridRowGroupingApi, GridExcelExportApi, GridAggregationApi, GridRowPinningApi, GridDataSourceApiPremium, GridCellSelectionApi, GridPivotingApi, GridAiAssistantApi, GridSidebarApi, GridChartsIntegrationApi, GridHistoryApi, GridRowMultiSelectionApi, GridColumnReorderApi {}
export interface GridPrivateApiPremium extends GridApiPremium, GridPrivateOnlyApiCommon<GridApiPremium, GridPrivateApiPremium, DataGridPremiumProcessedProps>, GridDataSourcePremiumPrivateApi, GridAggregationPrivateApi, GridDetailPanelPrivateApi, GridRowReorderPrivateApi, GridPivotingPrivateApi, GridChartsIntegrationPrivateApi {}