import { QueryContextType } from '../../QueryContext';
import { QueryVisualizationContextType } from '../../QueryVisualizationWrapper';
import { Row } from '@sage-bionetworks/synapse-types';
/**
 * If the user invokes an action on the table (such as "Send to CAVATICA"), we want to tell the user how many rows they
 * will perform the action on.
 *
 * If selection is enabled and rows have been selected, return the number of selected rows.
 * If no rows have been selected, return the total number of query results.
 * If the total number of query results is unknown, return undefined.
 * @param hasSelectedRows
 * @param selectedRows
 * @param totalNumberOfRows
 */
export declare function getNumberOfResultsToInvokeAction(hasSelectedRows: boolean, selectedRows: Row[], totalNumberOfRows?: number): number | undefined;
/**
 * Returns copy for how to reference the number of results that will be affected by an action, such as "Send to CAVATICA".
 * Utilizes the unit description to return a count and pluralized unit description.
 *
 * If the user has not selected rows or applied any filters, return "all <unit>s".
 * If the user has applied filters but not selected rows, return the total number of query results to indicate that the filtered result set is used. e.g. '2 <unit>s'
 *   - If the total number of query results is unknown, the count is not included. e.g. '<unit>s'
 * If the user has selected rows, return the number of selected rows. e.g. '2 <unit>s'
 * @param hasResettableFilters
 * @param hasSelectedRows
 * @param selectedRows
 * @param totalNumberOfRows
 * @param unitDescription
 */
export declare function getNumberOfResultsToInvokeActionCopy(hasResettableFilters: QueryContextType['hasResettableFilters'], hasSelectedRows: boolean, selectedRows: Row[], totalNumberOfRows: number | undefined, unitDescription: QueryVisualizationContextType['unitDescription']): string;
/**
 * Returns copy for how to reference the number of results that will be sent to the download list.
 * Utilizes the unit description to return a count and pluralized unit description.
 * @param hasResettableFilters
 * @param hasSelectedRows
 * @param selectedRows
 * @param totalNumberOfRows
 * @param unitDescription
 */
export declare function getNumberOfResultsToAddToDownloadListCopy(hasResettableFilters: QueryContextType['hasResettableFilters'], hasSelectedRows: boolean, selectedRows: Row[], totalNumberOfRows: number | undefined, unitDescription: QueryVisualizationContextType['unitDescription']): string;
//# sourceMappingURL=TopLevelControlsUtils.d.ts.map