import { CellEditorSelectorResult } from 'ag-grid-community';
import { ICellEditorParams } from 'ag-grid-community';
import { ComponentProps, ReactElement } from 'react';
import { GridBaseRow } from './Grid';
import { ColDefT } from './GridCell';
import { GenericCellColDef } from './gridRender';
export declare const Editor: <FN extends (param: any) => ReactElement>(props: {
    multiEdit: boolean;
    editor: FN;
    editorParams: ComponentProps<FN>;
}) => CellEditorSelectorResult;
export interface RowCellEditorParams<TData extends GridBaseRow> extends ICellEditorParams {
    data: TData;
}
/**
 * Used to choose between cell editors based in data.
 */
export declare const GridCellMultiEditor: <TData extends GridBaseRow, TValue = any>(props: GenericCellColDef<TData, TValue>, cellEditorSelector: (params: RowCellEditorParams<TData>) => CellEditorSelectorResult) => ColDefT<TData, TValue>;
