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