import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSBundle } from "../Foundation/NSBundle.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSView } from "../AppKit/NSView.js";
import type { NSPreferencePaneUnselectReply } from "./NSPreferencePaneUnselectReply.js";
export declare class _NSPreferencePane extends _NSObject {
    static alloc(): _NSPreferencePane;
    static new(): _NSPreferencePane;
    init(): _NSPreferencePane;
    initWithBundle$(bundle: _NSBundle): _NSPreferencePane;
    /**
     * loadMainView loads the main nib file and invokes assignMainView to set the main view of the preference pane. NSPreferencePane subclasses should rarely need to override this method. Override loadMainView if your NSPreferencePane subclass needs to use a non-nib based technique for creating the main view. loadMainView should call setMainView: to set the main view of the preference pane before it returns. It should also call setInitialKeyView, setFirstKeyView and setLastKeyView to set the initial, first and last keyboard focus views respectively.
     */
    loadMainView(): _NSView;
    /**
     * mainViewDidLoad is invoked by the default implementation of loadMainView after the main nib file has been loaded and the main view of the preference pane has been set. The default implementation does nothing. Override this method to perform any setup that must be performed after the main nib file has been loaded and the main view has been set.
     */
    mainViewDidLoad(): void;
    /**
     * assignMainView is invoked by the default implementation of loadMainView, immediately after the main nib file has been loaded. This method extracts the content view from the window referenced by the _window outlet and makes this view the main view of the preference pane. Override assignMainView if your NSPreferencePane subclass needs to dynamically choose a main view. assignMainView should call setMainView: to set the main view of the preference pane before it returns. It should also call setInitialKeyView, setFirstKeyView and setLastKeyView to set the initial, first and last keyboard focus views respectively.
     */
    assignMainView(): void;
    /**
     * These messages get sent to the a preference panel just before and just after it becomes the currently selected preference panel.
     */
    willSelect(): void;
    didSelect(): void;
    /**
     * If you override shouldUnselect to return NSUnselectLater, you must call replyToShouldUnselect when you have determined whether or not to unselect the preference pane.
     */
    replyToShouldUnselect$(shouldUnselect: boolean): void;
    /**
     * The willUnselect message gets sent to the currently selected preference panel just before and just after it gets swapped out for another preference panel
     */
    willUnselect(): void;
    didUnselect(): void;
    /**
     * Help Menu support A subclass can override this method if it needs to update help menu dynamically. If you have static help menu items specify them under " NSPrefPaneHelpAnchors" key in Info.plist instead. Array must contain dictionaries with following keys: <dict > - describes every help menu item <key >title </key > - localized title for help menu item <key >anchor </key > - anchor reference for AHLookupAnchor as string </dict >
     */
    updateHelpMenuWithArray$(inArrayOfMenuItems: _NSArray | null): void;
    bundle(): _NSBundle;
    /**
     * mainNibName is invoked by the default implementation of loadMainView. The default implementation returns the value of the NSMainNibFile key in the bundle's Info plist. You can override this if you want to dynamically select the main nib file for this preference. The value returned must NOT include the ".nib" extension.
     */
    mainNibName(): _NSString;
    /**
     * Override shouldUnselect if your panel needs to cancel or delay an unselect action. The default implementation always returns NSUnselectNow. If your subclass overrides this method to return NSUnselectLater, it must call replyToShouldUnselect: when it has determined whether or not to allow the unselect to occur.
     */
    shouldUnselect(): NSPreferencePaneUnselectReply;
    /**
     * Sets the main view of the preference pane. NSPreferencePane subclasses should not need to call this directly unless they override loadMainView or assignMainView. Returns the main view of the preference pane.
     */
    mainView(): _NSView;
    setMainView$(value: _NSView): void;
    /**
     * Returns the view that should have the keyboard focus when the pane is selected. The default implementation returns the _initialKeyView ivar which is an outlet that can be connected in the nib file. A subclass can override this method if it needs to determine the initial key view dynamically.
     */
    initialKeyView(): _NSView | null;
    setInitialKeyView$(value: _NSView | null): void;
    /**
     * Returns the view that is the first view in the keyboard focus chain. The default implementation returns the _firstKeyView ivar which is an outlet that can be connected in the nib file. A subclass can override this method if it needs to determine the first key view dynamically.
     */
    firstKeyView(): _NSView | null;
    setFirstKeyView$(value: _NSView | null): void;
    /**
     * Returns the view that is the last view in the keyboard focus chain. The default implementation returns the _lastKeyView ivar which is an outlet that can be connected in the nib file. A subclass can override this method if it needs to determine the last key view dynamically.
     */
    lastKeyView(): _NSView | null;
    setLastKeyView$(value: _NSView | null): void;
    /**
     * Default = YES If set to YES, text fields will be forced to give up their responder status before shouldUnselect is called on the preference pane. If overriden and set to NO, the preference pane will be responsible for forcing the fields to give up their responder status before saving them.
     */
    autoSaveTextFields(): boolean;
    /** Returns YES if preference pane is currently selected by user, NO otherwise */
    selected(): boolean;
}
