import { AFM, Execution } from "@gooddata/typings";
import { IDatasource, IGetRowsParams, GridApi } from "ag-grid-community";
import { IntlShape } from "react-intl";
import { IAgGridPage, IGridAdapterOptions, IGridHeader } from "./agGridTypes";
import { IGetPage } from "../base/VisualizationLoadingHOC";
import { IGroupingProvider } from "../pivotTable/GroupingProvider";
export declare const getDataSourceRowsGetter: (resultSpec: AFM.IResultSpec, getPage: IGetPage, getExecution: () => Execution.IExecutionResponses, onSuccess: (execution: Execution.IExecutionResponses, columnDefs: IGridHeader[], resultSpec: AFM.IResultSpec) => void, getGridApi: () => GridApi, intl: IntlShape, columnTotals: AFM.ITotalItem[], getGroupingProvider: () => IGroupingProvider) => (params: IGetRowsParams) => void;
export declare const executionToAGGridAdapter: (executionResponses: Execution.IExecutionResponses, resultSpec: AFM.IResultSpec, intl: IntlShape, options?: IGridAdapterOptions) => IAgGridPage;
/**
 * Factory function to create ag-grid data source backed by GoodData executeAFM.
 *
 * @param resultSpec
 * @param getPage
 * @param getExecution
 * @param onSuccess
 * @param getGridApi
 * @param intl
 * @param columnTotals
 * @param getGroupingProvider
 * @param cancelPagePromises
 */
export declare const createAgGridDataSource: (resultSpec: AFM.IResultSpec, getPage: IGetPage, getExecution: () => Execution.IExecutionResponses, onSuccess: (execution: Execution.IExecutionResponses, columnDefs: IGridHeader[], resultSpec: AFM.IResultSpec) => void, getGridApi: () => any, intl: IntlShape, columnTotals: AFM.ITotalItem[], getGroupingProvider: () => IGroupingProvider, cancelPagePromises: () => void) => IDatasource;
