import type { NobjcObject } from "objc-js";
import type { _NSPanel } from "../AppKit/NSPanel.js";
import type { _NSWindow } from "../AppKit/NSWindow.js";
import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _DRDevice } from "../DiscRecording/DRDevice.js";
export declare class _DRSetupPanel extends _NSPanel {
    static alloc(): _DRSetupPanel;
    static new(): _DRSetupPanel;
    init(): _DRSetupPanel;
    /**
     * Initializes the receiver to use the panel from the nibName nib file. Nib filename. The receiver.
     */
    initWithNibName$(nibName: _NSString): NobjcObject;
    /**
     * Displays the receiver and begins its event loop. Invokes NSApplication's method with self as the argument. Returns (if the user clicks the default button) or (if the user clicks the Cancel button).
     */
    runSetupPanel(): number;
    /**
     * Presents a setup panel as a sheet. The window the sheet will be attached to. If owner is not nil, the setup panel slides down as a sheet running as a document modal window. If owner is nil, this is an error. The modal delegate. The object that implements the didEndSelector. Selector to invoke when the sheet ends. This selector is optional. If implemented by the modal delegate, this method is invoked after the modal session has ended, but before dismissing the same panel. didEndSelector may dismiss the save panel itself; otherwise it will be dismissed on return from the method. didEndSelector should have the following signature: Context information to be passed when the selector named by didEndSelector is invoked.
     */
    beginSetupSheetForWindow$modalDelegate$didEndSelector$contextInfo$(owner: _NSWindow, modalDelegate: NobjcObject, didEndSelector: string, contextInfo: Uint8Array): void;
    /**
     * Invoked when the user clicks the panel's default button. The object that invoked this method.
     */
    ok$(sender: NobjcObject): void;
    /**
     * Invoked when the user clicks the panel's cancel button. The object that invoked this method.
     */
    cancel$(sender: NobjcObject): void;
    /**
     * Invoked when the user clicks the panel's eject button. The object that invoked this method.
     */
    eject$(sender: NobjcObject): void;
    /**
     * Invoked when the user clicks the panel's open button. The object that invoked this method.
     */
    open$(sender: NobjcObject): void;
    /**
     * Invoked when the user clicks the panel's close button. The object that invoked this method.
     */
    close$(sender: NobjcObject): void;
    /**
     * Invoked when the user changes the device selected in the device popup. If the device currently selected is disconnected from the machine, the device popup will remove the device from itself and select a new device. This will act as if the user changed the device selected. Because of this, device may be nil if no eligible devices are currently connected to the machine. The newly selected device, or nil.
     */
    deviceSelectionChanged$(device: _DRDevice): void;
    /**
     * Invoked when the media state of the currently selected device changes. This can include media being ejected, inserted, being used by another application, etc. The new device status dictionary. YES if the inserted media is valid for use, NO otherwise.
     */
    mediaStateChanged$(status: _NSDictionary): boolean;
    /**
     * This method is called immediately before panel is displayed on the screen. Any setup to be done in preparation for display should be done here.
     */
    setupForDisplay(): void;
}
