/**
 * Copyright (c) 2026-present, Goldman Sachs
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { type RefObject } from 'react';
import type { TDSResultCellData, TDSRowDataType } from '@finos/legend-graph';
import type { DataGridApi } from '@finos/legend-lego/data-grid';
import { type CellSelectionStats } from './QueryBuilderTDSCellSelectionStats.js';
/**
 * Return type for useAsyncCellSelectionStats.
 *
 * When the hook returns non-undefined, the stats bar should be shown.
 *
 * - `cellCount` is 0 until Phase 1 (50 ms) resolves, then the actual count.
 * - `countReady` is false while the count is still being debounced.
 * - `stats` is undefined until Phase 2 (200 ms + rAF) resolves.
 */
export interface AsyncCellSelectionStatsResult {
    /** Total selected cell count — 0 while Phase 1 debounce is pending. */
    cellCount: number;
    /** True once the 50 ms debounce has resolved and cellCount is accurate. */
    countReady: boolean;
    /** Fully-computed stats, or undefined while Phase 2 is pending. */
    stats: CellSelectionStats | undefined;
}
export declare const useAsyncCellSelectionStats: (
/** Incremented O(1) on every onCellSelectionChanged — never the full cell array. */
selectionVersion: number, columnTypes: Map<string, string | undefined>, gridApiRef: RefObject<DataGridApi<TDSRowDataType> | null>, 
/** Fallback cell array used when gridApiRef.current is null (simple grid). */
fallbackCells?: TDSResultCellData[]) => AsyncCellSelectionStatsResult | undefined;
//# sourceMappingURL=QueryBuilderTDSAsyncCellSelectionStats.d.ts.map