/**
 * Copyright IBM Corp. 2016, 2025
 *
 * This source code is licensed under the Apache-2.0 license found in the
 * LICENSE file in the root directory of this source tree.
 */
import PropTypes from 'prop-types';
import React, { type MouseEventHandler } from 'react';
import type { TranslateWithId } from '../../types/common';
declare const translationIds: {
    readonly 'carbon.table.batch.cancel': "carbon.table.batch.cancel";
    readonly 'carbon.table.batch.items.selected': "carbon.table.batch.items.selected";
    readonly 'carbon.table.batch.item.selected': "carbon.table.batch.item.selected";
    readonly 'carbon.table.batch.selectAll': "carbon.table.batch.selectAll";
};
type TranslationKey = keyof typeof translationIds;
export type TableBatchActionsTranslationArgs = {
    totalSelected?: number;
    totalCount?: number;
};
export interface TableBatchActionsProps extends React.HTMLAttributes<HTMLDivElement>, TranslateWithId<TranslationKey, TableBatchActionsTranslationArgs> {
    /**
     * Provide elements to be rendered inside of the component.
     */
    children?: React.ReactNode;
    /**
     * Hook required to listen for when the user initiates a cancel request
     * through this component.
     */
    onCancel: MouseEventHandler<HTMLButtonElement>;
    /**
     * Hook to listen for when the user initiates a select all
     * request through this component. This _only_ controls the rendering
     * of the `Select All` button and does not include built in functionality
     */
    onSelectAll?: MouseEventHandler<HTMLButtonElement>;
    /**
     * Boolean specifier for whether or not the batch action bar should be
     * displayed.
     */
    shouldShowBatchActions?: boolean;
    /**
     * Numeric representation of the total number of items selected in a table.
     * This number is used to derive the selection message.
     */
    totalSelected: number;
    /**
     * Numeric representation of the total number of items in a table.
     * This number is used in the select all button text
     */
    totalCount?: number;
}
declare const TableBatchActions: {
    ({ className, children, shouldShowBatchActions, totalSelected, totalCount, onCancel, onSelectAll, translateWithId: t, ...rest }: TableBatchActionsProps): import("react/jsx-runtime").JSX.Element;
    propTypes: {
        children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        className: PropTypes.Requireable<string>;
        /**
         * Hook required to listen for when the user initiates a cancel request
         * through this component
         */
        onCancel: PropTypes.Validator<(...args: any[]) => any>;
        /**
         * Hook to listen for when the user initiates a select all
         * request through this component. This _only_ controls the rendering
         * of the `Select All` button and does not include built in functionality
         */
        onSelectAll: PropTypes.Requireable<(...args: any[]) => any>;
        /**
         * Boolean specifier for whether or not the batch action bar should be
         * displayed
         */
        shouldShowBatchActions: PropTypes.Requireable<boolean>;
        /**
         * Numeric representation of the total number of items in a table.
         * This number is used in the select all button text
         */
        totalCount: PropTypes.Requireable<number>;
        /**
         * Numeric representation of the total number of items selected in a table.
         * This number is used to derive the selection message
         */
        totalSelected: PropTypes.Validator<number>;
        /**
         * Translates component strings using your i18n tool.
         */
        translateWithId: PropTypes.Requireable<(...args: any[]) => any>;
    };
};
export default TableBatchActions;
