import type { NobjcObject } from "objc-js";
import type { _NSFont } from "./NSFont.js";
import type { _NSTabViewController } from "./NSTabViewController.js";
import type { _NSTabViewDelegate } from "./NSTabViewDelegate.js";
import type { _NSTabViewItem } from "./NSTabViewItem.js";
import type { _NSView } from "./NSView.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { CGPoint } from "../structs/CGPoint.js";
import type { CGRect } from "../structs/CGRect.js";
import type { CGSize } from "../structs/CGSize.js";
import type { NSControlSize } from "./NSControlSize.js";
import type { NSControlTint } from "./NSControlTint.js";
import type { NSTabPosition } from "./NSTabPosition.js";
import type { NSTabViewBorderType } from "./NSTabViewBorderType.js";
import type { NSTabViewType } from "./NSTabViewType.js";
export declare class _NSTabView extends _NSView {
    static alloc(): _NSTabView;
    static new(): _NSTabView;
    init(): _NSTabView;
    /** Select */
    selectTabViewItem$(tabViewItem: _NSTabViewItem | null): void;
    /** May raise an NSRangeException */
    selectTabViewItemAtIndex$(index: number): void;
    /** May raise an NSRangeException if identifier not found */
    selectTabViewItemWithIdentifier$(identifier: NobjcObject): void;
    /** May raise an NSRangeException */
    takeSelectedTabViewItemFromSender$(sender: NobjcObject | null): void;
    /** Navigation */
    selectFirstTabViewItem$(sender: NobjcObject | null): void;
    selectLastTabViewItem$(sender: NobjcObject | null): void;
    selectNextTabViewItem$(sender: NobjcObject | null): void;
    selectPreviousTabViewItem$(sender: NobjcObject | null): void;
    /** Add tab at the end. */
    addTabViewItem$(tabViewItem: _NSTabViewItem): void;
    /** May raise an NSRangeException */
    insertTabViewItem$atIndex$(tabViewItem: _NSTabViewItem, index: number): void;
    /** tabViewItem must be an existing tabViewItem */
    removeTabViewItem$(tabViewItem: _NSTabViewItem): void;
    /** point in local coordinates. returns nil if none. */
    tabViewItemAtPoint$(point: CGPoint): _NSTabViewItem | null;
    /**
     * NSNotFound if not found
     * @deprecated The controlTint property is not respected on 10.14 and later.
     */
    indexOfTabViewItem$(tabViewItem: _NSTabViewItem): number;
    /**
     * May raise an NSRangeException
     * @deprecated The controlTint property is not respected on 10.14 and later.
     */
    tabViewItemAtIndex$(index: number): _NSTabViewItem;
    /**
     * NSNotFound if not found
     * @deprecated The controlTint property is not respected on 10.14 and later.
     */
    indexOfTabViewItemWithIdentifier$(identifier: NobjcObject): number;
    /** return nil if none are selected */
    selectedTabViewItem(): _NSTabViewItem | null;
    /** returns font used for all tab labels. */
    font(): _NSFont;
    setFont$(value: _NSFont): void;
    /**
     * Use tabPosition and tabViewBorderType instead. Setting this will also set the tabPosition and tabViewBorderType. Setting tabPosition or tabViewBorderType will affect tabViewType
     */
    tabViewType(): NSTabViewType;
    setTabViewType$(value: NSTabViewType): void;
    tabPosition(): NSTabPosition;
    setTabPosition$(value: NSTabPosition): void;
    /** This will only be respected if NSTabPosition is NSTabPositionNone. */
    tabViewBorderType(): NSTabViewBorderType;
    setTabViewBorderType$(value: NSTabViewBorderType): void;
    tabViewItems(): _NSArray;
    setTabViewItems$(value: _NSArray): void;
    allowsTruncatedLabels(): boolean;
    setAllowsTruncatedLabels$(value: boolean): void;
    /** returns the minimum size of the tab view */
    minimumSize(): CGSize;
    /** only relevant for borderless tab view type */
    drawsBackground(): boolean;
    setDrawsBackground$(value: boolean): void;
    controlSize(): NSControlSize;
    setControlSize$(value: NSControlSize): void;
    /** Delegate */
    delegate(): _NSTabViewController | null;
    setDelegate$(value: _NSTabViewDelegate | null): void;
    /** Return the rect available for a "page". */
    contentRect(): CGRect;
    /**
     * Query
     * @deprecated The controlTint property is not respected on 10.14 and later.
     */
    numberOfTabViewItems(): number;
    /** @deprecated The controlTint property is not respected on 10.14 and later. */
    controlTint(): NSControlTint;
    setControlTint$(value: NSControlTint): void;
}
