import type { NobjcObject } from "objc-js";
import type { _NSButtonCell } from "./NSButtonCell.js";
import type { _NSColorList } from "./NSColorList.js";
import type { _NSColorPanel } from "./NSColorPanel.js";
import type { _NSImage } from "./NSImage.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { CGSize } from "../structs/CGSize.js";
import type { NSColorPanelMode } from "./NSColorPanelMode.js";
export interface _NSColorPickingDefault {
    /**
     * initWithPickerMask:colorPanel: allows you to return your custom color picker to the ColorPanel. "mask" is the mask (if any) passed to the ColorPanel by the +setPickerMask: method. If your picker supports any of the bits in the mask, return "self", otherwise, return "nil" (default is "self" if not overridden, since if the "setPickerMask" method is never called, the ColorPanel will just start off with the normal picker modes, of which your custom mode will not be a part). This method can be used to turn off some (or all) of your subpickers, if you have any (like sliders). If this method returns "nil", the object will be freed. "owningColorPanel" is the id of the instantiating ColorPanel. If this method is overridden, the base class' (NSColorPicker's) initFromPickerMask method should be called before any subclass processing. The instance variable "colorPanel" is set in this method. FOR PERFORMANCE, DO NOT LOAD .NIBS, ETC. HERE!! WAIT UNTIL provideNewView: in NSColorPickingCustom!
     */
    initWithPickerMask$colorPanel$?(mask: number, owningColorPanel: _NSColorPanel): _NSColorPickingDefault | null;
    /**
     * Allows you to return a new image used in the toolbar. By default, you can simply have a .tiff file with the same name as your custom color picker class in the bundle, and will not need to implement this method.
     */
    provideNewButtonImage?(): _NSImage;
    insertNewButtonImage$in$?(newButtonImage: _NSImage, buttonCell: _NSButtonCell): void;
    viewSizeChanged$?(sender: NobjcObject | null): void;
    alphaControlAddedOrRemoved$?(sender: NobjcObject | null): void;
    attachColorList$?(colorList: _NSColorList): void;
    detachColorList$?(colorList: _NSColorList): void;
    setMode$?(mode: NSColorPanelMode): void;
    /** The tooltip to be used for the tool bar button. */
    buttonToolTip?(): _NSString;
    /**
     * The minimum content size for your picker. The NSColorPanel will not allow resizing smaller than this size. By default, you will not have to do anything if you properly setup the Autosizing attributes in IB for your view.
     */
    minContentSize?(): CGSize;
}
