import type { NobjcObject } from "objc-js";
import type { _NSFont } from "./NSFont.js";
import type { _NSFormCell } from "./NSFormCell.js";
import type { _NSMatrix } from "./NSMatrix.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { CGSize } from "../structs/CGSize.js";
import type { NSTextAlignment } from "./NSTextAlignment.js";
import type { NSWritingDirection } from "./NSWritingDirection.js";
export declare class _NSForm extends _NSMatrix {
    static alloc(): _NSForm;
    static new(): _NSForm;
    init(): _NSForm;
    indexOfSelectedItem(): number;
    setEntryWidth$(width: number): void;
    setInterlineSpacing$(spacing: number): void;
    setBordered$(flag: boolean): void;
    setBezeled$(flag: boolean): void;
    setTitleAlignment$(mode: NSTextAlignment): void;
    setTextAlignment$(mode: NSTextAlignment): void;
    setTitleFont$(fontObj: _NSFont): void;
    setTextFont$(fontObj: _NSFont): void;
    cellAtIndex$(index: number): NobjcObject;
    drawCellAtIndex$(index: number): void;
    addEntry$(title: _NSString): _NSFormCell;
    insertEntry$atIndex$(title: _NSString, index: number): _NSFormCell;
    removeEntryAtIndex$(index: number): void;
    indexOfCellWithTag$(tag: number): number;
    selectTextAtIndex$(index: number): void;
    setFrameSize$(newSize: CGSize): void;
    setTitleBaseWritingDirection$(writingDirection: NSWritingDirection): void;
    setTextBaseWritingDirection$(writingDirection: NSWritingDirection): void;
    /**
     * Determine the preferred width of the text field portion of the receiver's cells. The preferred width is reflected in the cell's cellSize, which will be large enough to accommodate the title, bezel, and a text field of width preferredTextWidth. It is also reflected in the intrinsicContentSize of the NSForm. That is, under autolayout, the NSForm will try to size itself so that the text field cell is the given width, according to the usual content size constraint priorities. If the width is negative, the cellSize matches the historic behavior, which is that it is large enough to accommodate the title, bezel, and the current text. The default is -1. This method can aid migration to autolayout, and is sufficient for simple cases. However, for new apps, prefer to use NSTextFields directly instead of NSForm.
     */
    setPreferredTextFieldWidth$(preferredWidth: number): void;
    preferredTextFieldWidth(): number;
}
