import React from "react"; import type { Theme } from "../../../themes/createTheme"; import type { TableAction } from "../types/tableActions"; /** ページング表示用。4桁以上(1000以上)のとき千の位区切りにカンマを入れる。 */ export declare const formatPaginationCount: (count: number) => string; /** * アイコンの色を動的に変更するヘルパー関数 * * @param originalIcon - 元のアイコンReactNode * @param dynamicIconColor - 動的色設定オブジェクト * @param isEnabled - 有効状態(通常はcheckedRows.length > 0) * @param theme - テーマオブジェクト * @returns 色が適用されたアイコン */ export declare const getDynamicIcon: (originalIcon: React.ReactNode, dynamicIconColor: { enabled: string; disabled?: string; } | undefined, isEnabled: boolean, theme: Theme) => string | number | bigint | boolean | Iterable | Promise> | Iterable | null | undefined> | React.ReactElement> | null | undefined; /** * TableActionのenabledWhenに基づいてアクションを分類 * * @param actions - TableActionの配列 * @returns checked用とunchecked用に分離されたアクション */ export declare const categorizeActionsByEnabledWhen: (actions: TableAction[]) => { checkedActions: TableAction[]; uncheckedActions: TableAction[]; }; /** * TableActionのdisplayInに基づいてアクションを分類 * * @param actions - TableActionの配列 * @returns toolbar用とdropdown用に分離されたアクション */ export declare const categorizeActionsByDisplayIn: (actions: TableAction[]) => { toolbarActions: TableAction[]; dropdownActions: TableAction[]; }; /** * enabledWhenとcustomDisabled関数に基づいてアクションが無効かどうかを判定 * * @param action - 判定対象のアクションまたはアイテム * @param checkedRows - 現在選択されている行の配列 * @param isUncheckedContext - unchecked系アクション専用のコンテキストかどうか * @returns アクションが無効かどうか */ export declare const isActionDisabled: (action: { enabledWhen?: "checked" | "unchecked" | "custom"; disabled?: (checkedRows: string[]) => boolean; }, checkedRows: string[], isUncheckedContext?: boolean) => boolean; /** * TableActionのキーを生成するヘルパー関数 * * @param action - TableAction * @param index - 配列内のインデックス * @returns ユニークなキー文字列 */ export declare const getActionKey: (action: TableAction, index: number) => string; /** * ButtonGroupのアイテムキーを生成するヘルパー関数 * * @param item - グループ内のアイテム * @param parentIndex - 親グループのインデックス * @param itemIndex - アイテムのインデックス * @returns ユニークなキー文字列 */ export declare const getGroupItemKey: (item: { label?: string; }, parentIndex: number, itemIndex: number) => string; /** * ドロップダウン内のアイテム用のより具体的なキーを生成するヘルパー関数 * * @param item - ドロップダウン内のアイテム * @param prefix - キーのプレフィックス * @param parentIndex - 親要素のインデックス * @param itemIndex - アイテムのインデックス * @returns ユニークなキー文字列 */ export declare const getDropdownItemKey: (item: { label?: string; icon?: React.ReactNode; }, prefix: string, parentIndex: number, itemIndex: number) => string;