import type { NobjcObject } from "objc-js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
export declare class _NSStoryboardSegue extends _NSObject {
    static alloc(): _NSStoryboardSegue;
    static new(): _NSStoryboardSegue;
    init(): _NSStoryboardSegue;
    /**
     * Convenience constructor for returning a segue that performs a handler block in its -perform method.
     */
    static segueWithIdentifier$source$destination$performHandler$(identifier: _NSString, sourceController: NobjcObject, destinationController: NobjcObject, performHandler: () => void): _NSStoryboardSegue;
    /**
     * This is the designated initializer for NSStoryboardSegue. If a developer implements a NSStoryboardSegue subclass, they can override this method to perform init-time logic. When a segue starts, a new instance of NSStoryboardSegue will be created with this method, and then perform will subsequently be invoked.
     */
    initWithIdentifier$source$destination$(identifier: _NSString, sourceController: NobjcObject, destinationController: NobjcObject): _NSStoryboardSegue;
    /**
     * This method is implemented by NSStoryboardSegue subclasses to present a custom transition between two controllers.
     */
    perform(): void;
    /**
     * NSStoryboardSegue instances have optional identifiers that can be assigned in Interface Builder. These identifiers can be used in overrides of -[NSViewController prepareForSegue:sender:] to differentiate segues.
     */
    identifier(): _NSString | null;
    /**
     * Subclasses of NSStoryboardSegue can use this property to access the source view or window controller that is being segued away from.
     */
    sourceController(): NobjcObject;
    /**
     * Subclasses of NSStoryboardSegue can use this property to access the destination view or window controller that's being segued to. This property is also essential for overrides of -[NSViewController prepareForSegue:sender:], which is passed to the source view controller. This property allows the receiver of -[NSViewController prepareForSegue:sender:] to access and pass configuration data to the destination controller.
     */
    destinationController(): NobjcObject;
}
