import type { NobjcObject } from "objc-js";
import type { _NSView } from "../AppKit/NSView.js";
import type { CGSize } from "../structs/CGSize.js";
export interface _AUCocoaUIBase {
    /**
     * Return the version of the interface you are implementing. An unsigned value. For MacOS X 10.3 or later, you should return the current version which is 0. NOTE: Developers are strongly encouraged to override -(NSString *)description to return the name of the cocoa view. This name is displayed by host applications and should be returned as a copy instead of a static string. For example, you could define the description method like this: - (NSString *) description { return [NSString withString: " Filter View"]; }
     */
    interfaceVersion?(): number;
    /**
     * Return the NSView responsible for displaying the interface for the provided AudioUnit. The Audio Unit the view is associated with. The preferred size of the view to be returned. An NSView. This method is a factory function: each call to it must return a unique view. Each view must be returned with a retain count of 1 and autoreleased. It is the client's responsibility to retain the returned view and to release the view when it's no longer needed.
     */
    uiViewForAudioUnit$withSize$?(inAudioUnit: NobjcObject, inPreferredSize: CGSize): _NSView | null;
}
