/**----------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { Observable } from 'rxjs'; import { ColumnBase } from '../columns/column-base'; /** * Defines the type for the `resizable` property. [See example](https://www.telerik.com/kendo-angular-ui/components/grid/columns/resizing#constrained-mode) * * The possible values are: * * * `constrained`—Adjacent columns resize only up to their outer borders. * * `unconstrained`—Columns resize relative to the entire component. * * @example * ```html * * * ... * * ``` */ export type ResizeMode = 'unconstrained' | 'constrained'; /** * Represents the returned type of the `columnResize` event. */ export interface ColumnResizeArgs { /** * Specifies the resized column. */ column: ColumnBase; /** * Specifies the new width (in pixels) of the column. */ newWidth?: number; /** * Specifies the actual width (in pixels) of the column before resizing. */ oldWidth: number; } /** * @hidden */ export type ActionType = 'start' | 'resizeColumn' | 'resizeTable' | 'end' | 'autoFitComplete' | 'triggerAutoFit'; /** * @hidden */ export interface ColumnResizeAction { columns: Array; delta?: number; deltaPercent?: number; locked?: boolean; resizedColumns?: Array; type: ActionType; widths?: Array>; } /** * @hidden */ export interface AutoFitInfo { column: ColumnBase; headerIndex: number; index: number; isLastInSpan: boolean; isParentSpan: boolean; level: number; } /** * @hidden */ export type AutoFitObservable = Observable>; /** * @hidden */ export type AutoFitFn = (columns: Array) => AutoFitObservable;