/**
 * TableActionButtonViewer - Renders action buttons in table cells
 *
 * Features:
 * - Renders multiple action buttons horizontally
 * - Handles button overflow with "more" button
 * - Supports different button styles (normal, operation, super admin)
 * - Handles button clicks with callbacks
 * - Shows link icon for linked tasks
 *
 * @example
 * ```typescript
 * const columnDef = {
 *   key: 'actions',
 *   title: 'Actions',
 *   useViewer: true,
 *   viewerType: 'table-action-button',
 *   viewerConfig: {
 *     onButtonClick: (event, payload) => {
 *       console.log('Button clicked:', payload);
 *     },
 *     onOperationBtnClick: (event, payload) => {
 *       console.log('Operation button clicked:', payload);
 *     },
 *     onAfterClick: (event, payload) => {
 *       console.log('More button clicked:', payload);
 *     }
 *   }
 * };
 * ```
 */
import type { CellViewer, ViewerRenderContext, TableActionButtonViewerData } from './types';
export declare class TableActionButtonViewer implements CellViewer<TableActionButtonViewerData> {
    readonly type = "table-action-button";
    private _sm;
    private get EMPTY_TEXT_COLOR();
    private get DEFAULT_BUTTON_BG();
    private get DEFAULT_BUTTON_TEXT();
    private get DISABLED_BUTTON_BG();
    private get DISABLED_BUTTON_TEXT();
    private get LINK_ICON_COLOR();
    private buttonPositions;
    private moreButtonPosition;
    /**
     * Draw the cell content
     */
    draw(context: ViewerRenderContext, data: TableActionButtonViewerData): void;
    /**
     * Draw empty state placeholder
     */
    private drawEmpty;
    /**
     * Calculate button width based on text content
     */
    private calculateButtonWidth;
    /**
     * Calculate which buttons are visible and if overflow occurs
     */
    private calculateVisibleButtons;
    /**
     * Draw "more" button
     */
    private drawMoreButton;
    /**
     * Draw a single button
     */
    private drawButton;
    /**
     * Draw rounded rectangle path
     */
    private drawRoundedRect;
    /**
     * Draw link icon
     */
    private drawLinkIcon;
    /**
     * Handle click events on the cell
     */
    onClick(context: ViewerRenderContext, data: TableActionButtonViewerData, localX: number, localY: number): boolean;
    /**
     * Get cursor style for interactive areas
     */
    getInteractiveCursor(context: ViewerRenderContext, data: TableActionButtonViewerData, localX: number, localY: number): string | null;
}
