import { RefObject } from '@mui/x-internals/types';
import { CacheChunkManager, DataSourceRowsUpdateStrategy, GridDataSourceBaseOptions } from '@mui/x-data-grid/internals';
import { GridPrivateApiPro } from "../../../models/gridApiPro.js";
import { DataGridProProcessedProps } from "../../../models/dataGridProProps.js";
import { GridDataSourceApiPro, GridDataSourcePrivateApiPro } from "./models.js";
export declare const INITIAL_STATE: {
  loading: {};
  errors: {};
};
export declare const useGridDataSourceBasePro: <Api extends GridPrivateApiPro>(apiRef: RefObject<Api>, props: DataGridProProcessedProps, options?: GridDataSourceBaseOptions) => {
  api: {
    public: GridDataSourceApiPro;
    private: GridDataSourcePrivateApiPro;
  };
  debouncedFetchRows: ((parentId?: import("@mui/x-data-grid").GridRowId, params?: Partial<import("@mui/x-data-grid").GridGetRowsParams>) => void) & import("@mui/utils/debounce").Cancelable;
  strategyProcessor: {
    strategyName: DataSourceRowsUpdateStrategy;
    group: "dataSourceRowsUpdate";
    processor: import("@mui/x-data-grid/internals").GridStrategyProcessor<"dataSourceRowsUpdate">;
  };
  events: {
    strategyAvailabilityChange: import("@mui/x-data-grid").GridEventListener<"strategyAvailabilityChange">;
    sortModelChange: (params: unknown) => void;
    filterModelChange: (params: unknown) => void;
    paginationModelChange: (params: unknown) => void;
  };
  setStrategyAvailability: () => void;
  cacheChunkManager: CacheChunkManager;
  cache: import("@mui/x-data-grid").GridDataSourceCache;
};