/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { ExtendedColumnProps } from '../GridColumn.js';
import { GridColumnState } from '../interfaces/GridColumnState.js';
/**
 * @hidden
 */
export declare class ColumnResize {
    /**
     * The main `colgroup` of the Grid.
     */
    colGroupMain: any | null;
    /**
     * The header `colgroup` of the Grid (if any).
     */
    colGroupHeader: any | null;
    /**
     * The footer `colgroup` of the Grid (if any).
     */
    colGroupFooter: any | null;
    /**
     * The sticky header `colgroup` of the Grid (if any).
     */
    colGroupStickyHeader: any;
    /**
     * The sticky footer `colgroup` of the Grid (if any).
     */
    colGroupStickyFooter: any;
    /**
     * The pinned-top `colgroup` of the Grid (if any).
     */
    colGroupPinnedTop: any;
    /**
     * The pinned-bottom `colgroup` of the Grid (if any).
     */
    colGroupPinnedBottom: any;
    columns: ExtendedColumnProps[];
    /**
     * The `columnsState` of the Grid (if any).
     */
    columnsState: GridColumnState[];
    /**
     * The settings for resizing the Grid.
     */
    resizable: boolean;
    onResize: (index: number, newWidth: number, oldWidth: number, originalEvent: any, end: boolean, columnsState: GridColumnState[], targetId?: string) => void;
    private isRtl;
    constructor(triggerResize: (index: number, newWidth: number, oldWidth: number, originalEvent: any, end: boolean, columnsState: GridColumnState[], targetId?: string) => void);
    setIsRtl: (isRtl: boolean) => void;
    private get colGroups();
    private applyWidthConstraints;
    initWidths: () => void;
    dragHandler: (event: any, column: ExtendedColumnProps, dragCue: HTMLSpanElement, end: boolean) => void;
    dblClickHandler: (event: React.MouseEvent<HTMLSpanElement, MouseEvent> | null, columnIds: string[]) => void;
    private fixateInitialWidths;
    private setWidths;
    private updateColElements;
    private updateNextLockedCol;
}
