import type { _NSCollectionViewLayout } from "./NSCollectionViewLayout.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { CGSize } from "../structs/CGSize.js";
import type { NSEdgeInsets } from "../structs/NSEdgeInsets.js";
export declare class _NSCollectionViewGridLayout extends _NSCollectionViewLayout {
    static alloc(): _NSCollectionViewGridLayout;
    static new(): _NSCollectionViewGridLayout;
    init(): _NSCollectionViewGridLayout;
    /**
     * The amount of empty space to leave between the edges of the CollectionView's frame and the items within it. Items will be laid out in the rectangle that remains after margins have been subtracted. Defaults to NSEdgeInsetsZero.
     */
    margins(): NSEdgeInsets;
    setMargins$(value: NSEdgeInsets): void;
    /**
     * For a vertically scrolling grid, this value represents the minimum spacing between items in the same row. For a horizontally scrolling grid, this value represents the minimum spacing between items in the same column. This spacing is used to compute how many items can fit in a single line, but after the number of items is determined, the actual spacing may possibly be adjusted upward. Defaults to 0 for a Grid layout.
     */
    minimumInteritemSpacing(): number;
    setMinimumInteritemSpacing$(value: number): void;
    /**
     * For a vertically scrolling grid, this value represents the minimum spacing between successive rows. For a horizontally scrolling grid, this value represents the minimum spacing between successive columns. This spacing is not applied to the space between the header and the first line or between the last line and the footer. Defaults to 0 for a Grid layout.
     */
    minimumLineSpacing(): number;
    setMinimumLineSpacing$(value: number): void;
    /**
     * The largest number of item rows to attempt to fit in the CollectionView's visible area (if enclosed in a ScrollView). Defaults to 0, which is interpreted to mean there should be no limit other than minimumItemSize.height.
     */
    maximumNumberOfRows(): number;
    setMaximumNumberOfRows$(value: number): void;
    /**
     * The largest number of item columns to attempt to fit in the CollectionView's visible area (if enclosed in a ScrollView). Defaults to 0, which is interpreted to mean there should be no limit other than minimumItemSize.width.
     */
    maximumNumberOfColumns(): number;
    setMaximumNumberOfColumns$(value: number): void;
    /**
     * The smallest allowed dimensions for an item's root view. Defaults to NSZeroSize, which makes the layout attempt to infer minimum dimensions from the provided itemPrototype's view's frame size.
     */
    minimumItemSize(): CGSize;
    setMinimumItemSize$(value: CGSize): void;
    /**
     * The largest allowed dimensions for an item's root view. Defaults to NSZeroSize, which makes the layout attempt to infer maximum dimensions from the provided itemPrototype's view's frame size.
     */
    maximumItemSize(): CGSize;
    setMaximumItemSize$(value: CGSize): void;
    /**
     * The colors with which to fill the background. Defaults to nil. Setting this to nil causes a default background color to be used. Setting it to an empty array causes the CollectionView to draw no background fill. Setting it to a single-NSColor array causes the entire CollectionView to be drawn with the given background fill color. For CollectionViews using the old, pre-10.11 API: Setting it to an array of (N >= 2) colors causes the CollectionView to use them in sequence, applying color (index % N) behind the item at "index”. For new, 10.11-and-later NSCollectionViews, colors after the first are ignored.
     */
    backgroundColors(): _NSArray;
    setBackgroundColors$(value: _NSArray): void;
}
