import { GridLength, type IGridLength } from './GridLength';
/**
 * Describes the configuration of a single column track in a grid layout.
 *
 * Each column definition carries a `width`
 * that determines the sizing mode (pixel, auto, or star) and optional
 * `minWidth` / `maxWidth` constraints that clamp the
 * resolved width during layout.
 *
 * @public
 */
export interface IColumnDefinition {
    /**
     * The width specification for this column.
     *
     * Accepts any `IGridLength` value - absolute pixels, `auto`, or tar (`*` / `n*`).
     *
     * @public
     */
    width: IGridLength;
    /**
     * The minimum width of this column in pixels/DIPs. Must be non-negative. Defaults to `0`.
     *
     * @public
     */
    minWidth: number;
    /**
     * The maximum width of this column in pixels/DIPs.
     * Must be non-negative and greater than or equal to `minWidth`.
     * Defaults to `Number.MAX_SAFE_INTEGER` (unbounded).
     *
     * @public
     */
    maxWidth: number;
}
/**
 * Represents a single column track definition in a grid layout.
 *
 * A `ColumnDefinition` pairs a `GridLength` width with optional
 * minimum / maximum pixel constraints. During layout the resolved track
 * width is clamped to `[minWidth, maxWidth]`.
 *
 * **Validation rules**
 * - `minWidth` and `maxWidth` must be non-negative.
 * - `minWidth` must not exceed `maxWidth`.
 *
 * @example
 * ```ts
 * // 200 px fixed column
 * new ColumnDefinition(new GridLength(200, 'pixel'));
 *
 * // Star column (proportional) clamped between 80 px and 240 px
 * new ColumnDefinition(new GridLength(0.5, 'star'), 80, 240);
 *
 * // Auto column – width determined by content
 * new ColumnDefinition(new GridLength(1, 'auto'));
 * ```
 *
 * @public
 */
export declare class ColumnDefinition implements IColumnDefinition {
    private _width;
    private _minWidth;
    private _maxWidth;
    /**
     * Constructs a new instance of the `ColumnDefinition` class.
     *
     * @public
     * @param width The width specification. Defaults to `1*` (one star).
     * @param minWidth Minimum width in pixels/DIPs. Must be ≥ 0. Defaults to `0`.
     * @param maxWidth Maximum width in pixels/DIPs. Must be ≥ 0 and ≥ `minWidth`. Defaults to `Number.MAX_SAFE_INTEGER` (unbounded).
     * @throws {Error} If `minWidth` is negative.
     * @throws {Error} If `maxWidth` is negative.
     * @throws {Error} If `minWidth` exceeds `maxWidth`.
     */
    constructor(width?: IGridLength, minWidth?: number, maxWidth?: number);
    /**
     * Gets or sets the width specification for this column.
     *
     * @public
     */
    get width(): GridLength;
    set width(value: GridLength);
    /**
     * Gets or sets the minimum width in pixels/DIPs.
     *
     * @public
     * @throws {Error} If the new value is negative.
     */
    get minWidth(): number;
    set minWidth(value: number);
    /**
     * Gets or sets the maximum width in pixels/DIPs.
     *
     * @public
     * @throws {Error} If the new value is negative.
     */
    get maxWidth(): number;
    set maxWidth(value: number);
}
//# sourceMappingURL=ColumnDefinition.d.ts.map