import { default as CxButton } from '../../../button/button.ts';
import { default as CxIcon } from '../../../icon/icon.ts';
import { default as CxSpace } from '../../../space/space.ts';
import { default as CxTooltip } from '../../../tooltip/tooltip.ts';
import { default as CortexElement } from '../../../../../../base/src/cortex-element.ts';
import { ICellComponent, IRowComponent, RowAction } from '../../../../../../types/src/table';
import { CSSResultGroup } from 'lit';
import { default as CxTableRowActionsDropdown } from './table-row-actions-dropdown';

/**
 * @summary <cx-table-row-actions> is a component that displays a list of actions for a row in a table.
 *
 * @dependency cx-button
 * @dependency cx-icon
 * @dependency cx-tooltip
 * @dependency cx-space
 * @dependency cx-table-row-actions-dropdown
 *
 * @event {{ name: string, row: RowComponent, cell?: CellComponent }} cx-table-row-action-click - Emitted when an action is clicked.
 *
 * @property {RowAction[]} actions - The list of actions to display.
 * @property {number} rowIndex - The index of the row.
 */
export default class CxTableRowActions extends CortexElement {
    static readonly styles: CSSResultGroup;
    static readonly dependencies: {
        'cx-button': typeof CxButton;
        'cx-icon': typeof CxIcon;
        'cx-space': typeof CxSpace;
        'cx-table-row-actions-dropdown': typeof CxTableRowActionsDropdown;
        'cx-tooltip': typeof CxTooltip;
    };
    actions: RowAction[];
    row: IRowComponent;
    cell?: ICellComponent;
    private handleActionClick;
    private renderButton;
    private renderDropdown;
    render(): import('lit').TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'cx-table-row-actions': CxTableRowActions;
    }
}
