import type { NobjcObject } from "objc-js";
import type { _NSStoryboardSegue } from "./NSStoryboardSegue.js";
import type { _NSString } from "../Foundation/NSString.js";
export interface _NSSeguePerforming {
    /**
     * Subclasses should override this to do any necessary work preparing for the destination ViewController or WindowController.
     */
    prepareForSegue$sender$?(segue: _NSStoryboardSegue, sender: NobjcObject | null): void;
    /**
     * Performs the identified Segue created from this WindowController. Throws exception if identifier is nil or not associated with the receiver.
     */
    performSegueWithIdentifier$sender$?(identifier: _NSString, sender: NobjcObject | null): void;
    /**
     * Invoked immediately prior to initiating a segue. Return NO to prevent the segue from firing. The default implementations in NSViewController and NSWindowController return YES. This method is invoked when -performSegueWithIdentifier:sender: is used.
     */
    shouldPerformSegueWithIdentifier$sender$?(identifier: _NSString, sender: NobjcObject | null): boolean;
}
