import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSCoding } from "../Foundation/NSCoding.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSGridColumn } from "./NSGridColumn.js";
import type { _NSGridRow } from "./NSGridRow.js";
import type { _NSView } from "./NSView.js";
import type { NSGridCellPlacement } from "./NSGridCellPlacement.js";
import type { NSGridRowAlignment } from "./NSGridRowAlignment.js";
export declare class _NSGridCell extends _NSObject {
    static alloc(): _NSGridCell;
    static new(): _NSGridCell;
    init(): _NSGridCell;
    /**
     * This view is used as a marker in NSGridView's "...WithViews:" methods to indicate a cell whose contentView should be nil.
     */
    static emptyContentView(): _NSView;
    /** The view whose placement will be managed by this cell. */
    contentView(): _NSView | null;
    setContentView$(value: _NSView | null): void;
    row(): _NSGridRow | null;
    column(): _NSGridColumn | null;
    /**
     * These properties control how the content view is placed in the cell. Placement is configured independently for each axis. Baseline alignment within a row is handled separately. Properties set to the default value of 'inherited' will "fall back" to properties defined on the row/column, or to the GridView itself if needed. Properties set to 'none' will cause the corresponding aspect of content layout to be left unmanaged by the grid view. Handling of baseline alignment is special: all cells within a row that specify a rowAlignment (i.e., not "None") are considered to be 'aligned'. The contentViews of such cells will be aligned by the specified baseline for each cell. This creates the potential for unsatisfiable constraints in combination with the yPlacement properties on the aligned views. Therefore, the entire baseline-aligned group is placed using the yPlacement of the first cell with a value other than NSGridCellPlaceNone. The yPlacement properties of the remaining cells are overridden by their rowAlignment.
     */
    xPlacement(): NSGridCellPlacement;
    setXPlacement$(value: NSGridCellPlacement): void;
    yPlacement(): NSGridCellPlacement;
    setYPlacement$(value: NSGridCellPlacement): void;
    rowAlignment(): NSGridRowAlignment;
    setRowAlignment$(value: NSGridRowAlignment): void;
    /**
     * Set these constraints to provide custom placement for the cell's content view. NSGridView will activate the constraints when the cell is visible, and deactivate them when it is hidden. Note that it is usually also necessary to set the xPlacement and/or yPlacement to 'Custom' in order to prevent NSGridView from adding its own placement constraints in one or both axes (which is likely to cause unsatisfiable constraints in combination with the custom ones).
     */
    customPlacementConstraints(): _NSArray;
    setCustomPlacementConstraints$(value: _NSArray): void;
}
export interface _NSGridCell extends _NSCoding {
}
