/**
 * Copyright IBM Corp. 2021, 2025
 * SPDX-License-Identifier: MPL-2.0
 */
import Component from '@glimmer/component';
import type { HdsDropdownSignature } from '../dropdown/index';
import type { HdsDropdownToggleIconSignature } from '../dropdown/toggle/icon';
import type { HdsAdvancedTableSignature } from './index';
import type { HdsAdvancedTableThReorderHandleSignature } from './th-reorder-handle';
import type { HdsAdvancedTableThResizeHandleSignature } from './th-resize-handle';
import type HdsIntlService from '../../../services/hds-intl.ts';
import type { HdsAdvancedTableNormalizedColumn } from './types.ts';
interface HdsAdvancedTableThContextMenuOption {
    key: string;
    icon?: HdsDropdownToggleIconSignature['Args']['icon'];
    label?: string;
    action?: (dropdownCloseCallback: () => void) => void;
}
export interface HdsAdvancedTableThContextMenuSignature {
    Args: {
        column: HdsAdvancedTableNormalizedColumn;
        isFirstColumn: boolean;
        isFirstNonStickyColumn: boolean;
        isLastColumn: boolean;
        hasResizableColumns?: boolean;
        hasReorderableColumns?: boolean;
        isStickyColumn?: boolean;
        reorderHandleElement?: HdsAdvancedTableThReorderHandleSignature['Element'];
        resizeHandleElement?: HdsAdvancedTableThResizeHandleSignature['Element'];
        onColumnResize?: HdsAdvancedTableSignature['Args']['onColumnResize'];
        onFocusReorderHandle?: () => void;
        onMoveColumnToTerminalPosition?: (columnKey: HdsAdvancedTableNormalizedColumn['key'], position: 'start' | 'end') => void;
        onPinFirstColumn?: () => void;
        onRestoreColumnWidth?: (columnKey: HdsAdvancedTableNormalizedColumn['key']) => void;
    };
    Element: HdsDropdownSignature['Element'];
}
export default class HdsAdvancedTableThContextMenu extends Component<HdsAdvancedTableThContextMenuSignature> {
    readonly hdsIntl: HdsIntlService;
    private _toggleElement;
    get _resizeOptions(): HdsAdvancedTableThContextMenuOption[];
    get _reorderOptions(): HdsAdvancedTableThContextMenuOption[];
    get _stickyColumnOptions(): HdsAdvancedTableThContextMenuOption[];
    get _options(): HdsAdvancedTableThContextMenuOption[];
    private _registerDropdownToggleElement;
    private _resizeColumn;
    private _resetColumnWidth;
    private _moveColumn;
    private _moveColumnToPosition;
    private _pinFirstColumn;
}
export {};
