import type { _NSBundle } from "../Foundation/NSBundle.js";
import type { _NSMutableDictionary } from "../Foundation/NSMutableDictionary.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _InstallerPane } from "./InstallerPane.js";
import type { _InstallerState } from "./InstallerState.js";
export declare class _InstallerSection extends _NSObject {
    static alloc(): _InstallerSection;
    static new(): _InstallerSection;
    init(): _InstallerSection;
    /**
     * Each InstallerSection object can define a default nib to be loaded by the Installer at the optimal time. Before this default nib is loaded willLoadMainNib will be called. didLoadMainNib is called when the nib is successfully loaded. The nib may be loaded way before the content is display on the screen, so awakeFromNib methods should not assume the content is displayed to the user. WillEnter/DidEnter method should be used to determine when views are actually "in view." A default nib is specified for a section in the Info.plist for the section using the NSMainNibFile key. A subclass can override this method to do any necessary work before the main nib is loaded or to actually load a custom nib if no default nib is specified.
     */
    willLoadMainNib(): void;
    /**
     * Called immediatly after the default nib for the section is loaded. If no default nib is specified, didLoadMainNib is called immediately after willLoadMainNib is called. didLoadMainNib is called before the section's panes are in view.
     */
    didLoadMainNib(): void;
    /**
     * A global Mutable Dictionary which is global to the Install session. Use this dictionary to pass information between sections. This dictionary should not be used to store state for your section or its panes.
     */
    sharedDictionary(): _NSMutableDictionary;
    /**
     * This method causes the current pane to exit and "pane" to be made active. This effectively replaces the current pane and does not place the current pane onto the pane stack. gotoPane does not invoke shouldExit method for the current pane. gotoPane is typically not overriden by a subclass.
     */
    gotoPane$(pane: _InstallerPane): boolean;
    /**
     * This method returns the NSBundle in which the InstallerSection is located. Since InstallerSection is not typically overriden, the bundle returned may not necessarily be the same bundle as the InstallerSection class. Use this method to gain access to bundle resources.
     */
    bundle(): _NSBundle;
    /**
     * Returns the title for the section defined in the Info.plist file for the section's bundle. The title retrieved using the "InstallerSectionTitle" key in the Info.plist for the section's bundle and that key must be present in the InfoPlist.strings file for title to be localized. Although subclasses can override this method and return a dynamic title at runtime, the title is only retrieved for display once (immediatly following the shouldLoad method, if shouldLoad returns YES).
     */
    title(): _NSString;
    /**
     * Returns the first pane specified by the firstPane outlet. This pane is the first pane entered when the section first becomes active.
     */
    firstPane(): _InstallerPane;
    /**
     * Called when a section is first about to be fully loaded. By default this method returns YES. A Subclass can override this method and determine at runtime if the section makes sense. Return NO and the section will not be further loaded. sections are never fully unloaded.
     */
    shouldLoad(): boolean;
    /**
     * Returns the Installer State object for the current install session. Returns an object which describes the Installer choices and status at the given time. Plugins cannot influence this state, it should only be used for informational purposes. See InstallerState.h for more details.
     */
    installerState(): _InstallerState;
    /**
     * Returns the current active page for this section. If the section is active, it will return the current active page. If the section is not active, nil will be returned.
     */
    activePane(): _InstallerPane;
}
