import { TableRowActionItem } from '../rows/table-row-actions-menu.js'; import { AthenaTableActionFeedbackConfig, AthenaTableToastAdapter } from './table-action-feedback.js'; export interface CreateCopyTableRowActionOptions { feedback?: AthenaTableActionFeedbackConfig; /** Human label used in default toast strings ("Case ID", "Email", …). */ feedbackLabel?: string; icon?: TableRowActionItem["icon"]; isDisabled?: boolean; key?: string; label?: string; toastAdapter?: AthenaTableToastAdapter; tone?: TableRowActionItem["tone"]; /** Value to copy; empty/null triggers empty feedback. */ value: string | null | undefined; } /** * First-class copy row action with AthenaTables toast feedback. */ export declare function createCopyTableRowAction(options: CreateCopyTableRowActionOptions): TableRowActionItem; export interface CreateDownloadTableRowActionOptions { feedback?: AthenaTableActionFeedbackConfig; filename?: string; icon?: TableRowActionItem["icon"]; isDisabled?: boolean; key?: string; label?: string; mimeType?: string; toastAdapter?: AthenaTableToastAdapter; tone?: TableRowActionItem["tone"]; value: string | null | undefined; } export declare function createDownloadTableRowAction(options: CreateDownloadTableRowActionOptions): TableRowActionItem; export interface CreateHrefTableRowActionOptions { feedback?: AthenaTableActionFeedbackConfig; href: string | null | undefined; icon?: TableRowActionItem["icon"]; isDisabled?: boolean; key?: string; label?: string; openInNewTab?: boolean; toastAdapter?: AthenaTableToastAdapter; tone?: TableRowActionItem["tone"]; } export declare function createHrefTableRowAction(options: CreateHrefTableRowActionOptions): TableRowActionItem; /** * Wrap an existing row action so success/error toasts fire automatically. */ export declare function withTableRowActionFeedback(action: TableRowActionItem, feedback: AthenaTableActionFeedbackConfig, options?: { toastAdapter?: AthenaTableToastAdapter; value?: string; }): TableRowActionItem;