import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSCollectionLayoutEdgeSpacing } from "./NSCollectionLayoutEdgeSpacing.js";
import type { _NSCollectionLayoutSize } from "./NSCollectionLayoutSize.js";
import type { NSDirectionalEdgeInsets } from "../structs/NSDirectionalEdgeInsets.js";
export declare class _NSCollectionLayoutItem extends _NSObject {
    static alloc(): _NSCollectionLayoutItem;
    static new(): _NSCollectionLayoutItem;
    init(): _NSCollectionLayoutItem;
    static itemWithLayoutSize$(layoutSize: _NSCollectionLayoutSize): _NSCollectionLayoutItem;
    static itemWithLayoutSize$supplementaryItems$(layoutSize: _NSCollectionLayoutSize, supplementaryItems: _NSArray): _NSCollectionLayoutItem;
    /**
     * +---------------------+ +-------------+<----|Specified layout size| | | +---------------------+ | +-------+ | +--------------------------+ | |~~~~~~~| | |Final size (after | | |~~~~~~~|<-+-----|contentInsets are applied)| | +-------+ | +--------------------------+ | | +-------------+ Use contentInsets on an item to adjust the final size of the item after layout is computed. useful for grid style layouts to apply even spacing around each the edges of each item. Note: contentInsets are ignored for items with .estimated dimension(s)
     */
    contentInsets(): NSDirectionalEdgeInsets;
    setContentInsets$(value: NSDirectionalEdgeInsets): void;
    /**
     * +--------+ | Top | +--------+ | | +-------+--------------------------+ | v | | +------+ | +--------+ | |~~~~~~| +--------+ | |Leading |-----+-> |~~~~~~| <------|Trailing| | +--------+ | |~~~~~~| +--------+ | | +------+ | | ^ | +--------+-------------------------+ | | +--------+ | Bottom | +--------+ Specifies additional space required surrounding and item when laying out. Flexible spacing can be used to apportion remaining space after items are layed out to evenly align items among available layout space.
     */
    edgeSpacing(): _NSCollectionLayoutEdgeSpacing | null;
    setEdgeSpacing$(value: _NSCollectionLayoutEdgeSpacing | null): void;
    layoutSize(): _NSCollectionLayoutSize;
    supplementaryItems(): _NSArray;
}
export interface _NSCollectionLayoutItem extends _NSCopying {
}
