/**
 * Copyright IBM Corp. 2021, 2025
 * SPDX-License-Identifier: MPL-2.0
 */
import Component from '@glimmer/component';
import type Owner from '@ember/owner';
import type { HdsAdvancedTableNormalizedColumn } from './types';
import type { HdsAdvancedTableSignature } from './index';
export interface HdsAdvancedTableThResizeHandleSignature {
    Args: {
        column?: HdsAdvancedTableNormalizedColumn;
        siblingColumnKeys?: {
            previous?: HdsAdvancedTableNormalizedColumn['key'];
            next?: HdsAdvancedTableNormalizedColumn['key'];
        };
        tableHeight?: number;
        onApplyTransientWidth?: (columnKey: HdsAdvancedTableNormalizedColumn['key']) => void;
        onGetAppliedWidth?: (columnKey: HdsAdvancedTableNormalizedColumn['key']) => HdsAdvancedTableNormalizedColumn['width'];
        onGetColumnByKey?: (columnKey: HdsAdvancedTableNormalizedColumn['key']) => HdsAdvancedTableNormalizedColumn | undefined;
        onSetTransientColumnWidth?: (columnKey: HdsAdvancedTableNormalizedColumn['key'], width: `${number}px`) => void;
        onSetTransientColumnWidths?: (options: {
            roundValues?: boolean;
        }) => void;
        onResetTransientColumnWidths?: () => void;
        onUpdateResizeDebt?: (delta: number) => void;
        onColumnResize?: HdsAdvancedTableSignature['Args']['onColumnResize'];
    };
    Blocks: {
        default?: [];
    };
    Element: HTMLDivElement;
}
export default class HdsAdvancedTableThResizeHandle extends Component<HdsAdvancedTableThResizeHandleSignature> {
    resizing: {
        startX: number;
        startColumnPxWidth: number;
        startNextColumnPxWidth?: number;
    } | null;
    private _transientDelta;
    private _isUpdateQueued;
    private _lastPointerEvent;
    private _handleElement;
    private _boundResize;
    private _boundStopResize;
    private _registerHandleElement;
    constructor(owner: Owner, args: HdsAdvancedTableThResizeHandleSignature['Args']);
    get currentWidthInPixels(): number;
    get minWidthInPixels(): number;
    get maxWidthInPixels(): number;
    get height(): string | undefined;
    get classNames(): string;
    private _applyTransientWidths;
    onColumnResize(key?: string, width?: string): void;
    handleKeydown(event: KeyboardEvent): void;
    startResize(event: PointerEvent): void;
    private _setColumnWidth;
    private _applyResizeDelta;
    private _resize;
    private _stopResize;
}
