import type { NobjcObject } from "objc-js";
import type { _NSBundle } from "../Foundation/NSBundle.js";
import type { _NSCoder } from "../Foundation/NSCoder.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
export declare class _NSStoryboard extends _NSObject {
    static alloc(): _NSStoryboard;
    static new(): _NSStoryboard;
    init(): _NSStoryboard;
    /**
     * This method instantiates a storyboard to represent the file with 'name' in the given bundle. The bundle argument is used to resolve resource references, typically to images, in the archived controllers. The bundle argument can be nil indicating that the main bundle should be used.
     */
    static storyboardWithName$bundle$(name: _NSString, storyboardBundleOrNil: _NSBundle | null): _NSStoryboard;
    /**
     * The main UI storyboard for the application, specified by the "NSMainStoryboardFile" key in its Info.plist
     */
    static mainStoryboard(): _NSStoryboard;
    /**
     * Every storyboard may have an initial view or window controller. Each invocation of this method instantiates an instance of the initial controller. The developer chooses the initial controller in an inspector within Interface Builder.
     */
    instantiateInitialController(): NobjcObject | null;
    /**
     * Every storyboard may have an initial view or window controller. Each invocation of this method instantiates an instance of the initial controller. The developer chooses the initial controller in an inspector within Interface Builder. A creator can be specified for controller instantiation, giving the developer a chance to call an initalizer that takes an NSCoder and additional arguments. If the block returns nil, the initial view controller will be created using the standard initWithCoder: initializer.
     */
    instantiateInitialControllerWithCreator$(block: ((arg0: _NSCoder) => NobjcObject) | null): NobjcObject | null;
    /**
     * Controllers in Interface Builder have an optional identifier within the storyboard. That identifier is set from the inspector in Interface Builder. The identifiers are optional, meaning that the developer only has to assign an identifier to a controller if they want to be able to manually invoke this method from code.
     */
    instantiateControllerWithIdentifier$(identifier: _NSString): NobjcObject;
    /**
     * Controllers in Interface Builder have an optional identifier within the storyboard. That identifier is set from the inspector in Interface Builder. The identifiers are optional, meaning that the developer only has to assign an identifier to a controller if they want to be able to manually invoke this method from code. A creator can be specified for controller instantiation, giving the developer a chance to call an initalizer that takes an NSCoder and additional arguments. If the block returns nil, the view controller will be created using the standard initWithCoder: initializer.
     */
    instantiateControllerWithIdentifier$creator$(identifier: _NSString, block: ((arg0: _NSCoder) => NobjcObject) | null): NobjcObject;
}
