import type { _NSActionCell } from "./NSActionCell.js";
import type { _NSImage } from "./NSImage.js";
import type { _NSMenu } from "./NSMenu.js";
import type { _NSView } from "./NSView.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { CGRect } from "../structs/CGRect.js";
import type { NSBackgroundStyle } from "./NSBackgroundStyle.js";
import type { NSImageScaling } from "./NSImageScaling.js";
import type { NSSegmentStyle } from "./NSSegmentStyle.js";
import type { NSSegmentSwitchTracking } from "./NSSegmentSwitchTracking.js";
export declare class _NSSegmentedCell extends _NSActionCell {
    static alloc(): _NSSegmentedCell;
    static new(): _NSSegmentedCell;
    init(): _NSSegmentedCell;
    selectSegmentWithTag$(tag: number): boolean;
    /** For keyboard UI. Wraps. */
    makeNextSegmentKey(): void;
    makePreviousSegmentKey(): void;
    /** Width of 0 means autosize to fit */
    setWidth$forSegment$(width: number, segment: number): void;
    widthForSegment$(segment: number): number;
    setImage$forSegment$(image: _NSImage | null, segment: number): void;
    imageForSegment$(segment: number): _NSImage | null;
    setImageScaling$forSegment$(scaling: NSImageScaling, segment: number): void;
    imageScalingForSegment$(segment: number): NSImageScaling;
    setLabel$forSegment$(label: _NSString, segment: number): void;
    labelForSegment$(segment: number): _NSString | null;
    setSelected$forSegment$(selected: boolean, segment: number): void;
    isSelectedForSegment$(segment: number): boolean;
    setEnabled$forSegment$(enabled: boolean, segment: number): void;
    isEnabledForSegment$(segment: number): boolean;
    setMenu$forSegment$(menu: _NSMenu | null, segment: number): void;
    menuForSegment$(segment: number): _NSMenu | null;
    setToolTip$forSegment$(toolTip: _NSString | null, segment: number): void;
    toolTipForSegment$(segment: number): _NSString | null;
    setTag$forSegment$(tag: number, segment: number): void;
    tagForSegment$(segment: number): number;
    /** For custom content drawing. frame has been adjusted to content area */
    drawSegment$inFrame$withView$(segment: number, frame: CGRect, controlView: _NSView): void;
    /**
     * Describes the surface drawn onto in -[NSCell drawSegment:inFrame:withView:]. That method draws a segment interior, not the segment bezel. This is both an override point and a useful method to call. A segmented cell that draws a custom bezel would override this to describe that surface. A cell that has custom segment drawing might query this method to help pick an image that looks good on the cell. Calling this method gives you some independence from changes in framework art style.
     */
    interiorBackgroundStyleForSegment$(segment: number): NSBackgroundStyle;
    /** Number of segments */
    segmentCount(): number;
    setSegmentCount$(value: number): void;
    /** Which button is active. May turn off other segments depending on mode. */
    selectedSegment(): number;
    setSelectedSegment$(value: number): void;
    trackingMode(): NSSegmentSwitchTracking;
    setTrackingMode$(value: NSSegmentSwitchTracking): void;
    /** see NSSegmentedControl.h for segment style names and values */
    segmentStyle(): NSSegmentStyle;
    setSegmentStyle$(value: NSSegmentStyle): void;
}
