import type { StoreSimpleSelectors } from '../selectors'; import type { GridState } from '../reducer'; import type { GridRowId } from '../../types'; import type { GridFocusArea } from '../types'; import type { GridFocusState } from '../reducer/focus'; import type { SelectColumnSpanByRowId } from './row'; export default function generateSelectors(selectors: Pick, selectRowIds: (state: GridState) => GridRowId[], selectHeaderRowIds: (state: GridState) => GridRowId[], selectColumnSpanByRowId: SelectColumnSpanByRowId): { selectCurrentFocus: ((state: { columns: import("../reducer/column").GridColumnState; currentEdit: import("../reducer/edit").GridEditState; currentFocus: GridFocusState; drag: import("../reducer/drag").GridDragState; filter: import("../reducer/filter").GridFilterState; navigation: { enabled: boolean; }; rows: import("../reducer/row").GridRowState; selection: import("../reducer/selection").GridSelectionState; rangeSelection: import("../reducer/range-selection").GridRangeSelectionState; sort: import("../reducer/sort").GridSortState; view: import("../reducer/view").GridViewState; }) => { columnId: string; rowId: GridRowId; area: GridFocusArea; subFocus: number | "first" | "last"; }) & { clearCache: () => void; resultsCount: () => number; resetResultsCount: () => void; } & { resultFunc: (resultFuncArgs_0: { columnId: string; rowId: GridRowId; area: GridFocusArea; subFocus: number | "first" | "last"; }, resultFuncArgs_1: string[], resultFuncArgs_2: GridRowId[], resultFuncArgs_3: GridRowId[], resultFuncArgs_4: string[], resultFuncArgs_5: boolean) => { columnId: string; rowId: GridRowId; area: GridFocusArea; subFocus: number | "first" | "last"; }; memoizedResultFunc: ((resultFuncArgs_0: { columnId: string; rowId: GridRowId; area: GridFocusArea; subFocus: number | "first" | "last"; }, resultFuncArgs_1: string[], resultFuncArgs_2: GridRowId[], resultFuncArgs_3: GridRowId[], resultFuncArgs_4: string[], resultFuncArgs_5: boolean) => { columnId: string; rowId: GridRowId; area: GridFocusArea; subFocus: number | "first" | "last"; }) & { clearCache: () => void; resultsCount: () => number; resetResultsCount: () => void; }; lastResult: () => { columnId: string; rowId: GridRowId; area: GridFocusArea; subFocus: number | "first" | "last"; }; dependencies: [(state: { columns: import("../reducer/column").GridColumnState; currentEdit: import("../reducer/edit").GridEditState; currentFocus: GridFocusState; drag: import("../reducer/drag").GridDragState; filter: import("../reducer/filter").GridFilterState; navigation: { enabled: boolean; }; rows: import("../reducer/row").GridRowState; selection: import("../reducer/selection").GridSelectionState; rangeSelection: import("../reducer/range-selection").GridRangeSelectionState; sort: import("../reducer/sort").GridSortState; view: import("../reducer/view").GridViewState; }) => { columnId: string; rowId: GridRowId; area: GridFocusArea; subFocus: number | "first" | "last"; }, (state: { columns: import("../reducer/column").GridColumnState; currentEdit: import("../reducer/edit").GridEditState; currentFocus: GridFocusState; drag: import("../reducer/drag").GridDragState; filter: import("../reducer/filter").GridFilterState; navigation: { enabled: boolean; }; rows: import("../reducer/row").GridRowState; selection: import("../reducer/selection").GridSelectionState; rangeSelection: import("../reducer/range-selection").GridRangeSelectionState; sort: import("../reducer/sort").GridSortState; view: import("../reducer/view").GridViewState; }) => string[], (state: GridState) => GridRowId[], (state: GridState) => GridRowId[], (state: { columns: import("../reducer/column").GridColumnState; currentEdit: import("../reducer/edit").GridEditState; currentFocus: GridFocusState; drag: import("../reducer/drag").GridDragState; filter: import("../reducer/filter").GridFilterState; navigation: { enabled: boolean; }; rows: import("../reducer/row").GridRowState; selection: import("../reducer/selection").GridSelectionState; rangeSelection: import("../reducer/range-selection").GridRangeSelectionState; sort: import("../reducer/sort").GridSortState; view: import("../reducer/view").GridViewState; }) => string[], (state: { columns: import("../reducer/column").GridColumnState; currentEdit: import("../reducer/edit").GridEditState; currentFocus: GridFocusState; drag: import("../reducer/drag").GridDragState; filter: import("../reducer/filter").GridFilterState; navigation: { enabled: boolean; }; rows: import("../reducer/row").GridRowState; selection: import("../reducer/selection").GridSelectionState; rangeSelection: import("../reducer/range-selection").GridRangeSelectionState; sort: import("../reducer/sort").GridSortState; view: import("../reducer/view").GridViewState; }) => boolean]; recomputations: () => number; resetRecomputations: () => void; dependencyRecomputations: () => number; resetDependencyRecomputations: () => void; } & { memoize: typeof import("reselect").weakMapMemoize; argsMemoize: typeof import("reselect").weakMapMemoize; }; selectHasFocus: (state: GridState, columnId: string, area: GridFocusArea, rowId: GridRowId) => boolean; }; export type SelectCurrentFocus = ReturnType['selectCurrentFocus']; export type SelectHasFocus = ReturnType['selectHasFocus']; //# sourceMappingURL=focus.d.ts.map