import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSBitmapImageRep } from "../AppKit/NSBitmapImageRep.js";
import type { CGSize } from "../structs/CGSize.js";
import type { PGDisplayCoord_t } from "../structs/PGDisplayCoord_t.js";
export declare class _PGDisplayDescriptor extends _NSObject {
    static alloc(): _PGDisplayDescriptor;
    static new(): _PGDisplayDescriptor;
    init(): _PGDisplayDescriptor;
    /**
     * Client supplied name of display, as seen by guest. Truncates to 13 characters. Defaults to "Apple Virtual". Value provided here may be made visible via guest UI.
     */
    name(): _NSString;
    setName$(value: _NSString): void;
    /**
     * Client supplied display size conveyed to guest compositor. Conveyed size contributes to guest compositor layout, but host-side VM app can scale to UI of its own choosing.
     */
    sizeInMillimeters(): CGSize;
    setSizeInMillimeters$(value: CGSize): void;
    /**
     * Client supplied dispatch_queue on which to invoke client supplied blocks. Typical client provides serial queue, and redispatches if beneficial to process out of order.
     */
    queue(): _NSObject;
    setQueue$(value: _NSObject): void;
    /**
     * The block to invoke to handle display mode change. Handler invocation indicative of display mode change.
     */
    modeChangeHandler(): (arg0: PGDisplayCoord_t, arg1: number) => void;
    setModeChangeHandler$(value: (arg0: PGDisplayCoord_t, arg1: number) => void): void;
    /**
     * The block to invoke to handle notification of the presence of a new Guest compositor frame. Handler invocation indicates presence of new frame to be processed for display. Only one of newFrameEventHandler or presentHandler may be non-nil.
     */
    newFrameEventHandler(): () => void;
    setNewFrameEventHandler$(value: () => void): void;
    /**
     * The block to invoke to handle cursor glyph updates. Handler invocation indicative of new cursor image for display. If this block is not set, cursor will be precomposited in presented image.
     */
    cursorGlyphHandler(): (arg0: _NSBitmapImageRep, arg1: PGDisplayCoord_t) => void;
    setCursorGlyphHandler$(value: (arg0: _NSBitmapImageRep, arg1: PGDisplayCoord_t) => void): void;
    /**
     * The block to invoke to handle cursor show/hide updates. Handler invocation indicative of hide/show of cursor glyph. If this block is not set, cursor will be precomposited in presented image.
     */
    cursorShowHandler(): (arg0: boolean) => void;
    setCursorShowHandler$(value: (arg0: boolean) => void): void;
    /**
     * The block to invoke to handle cursor movement. Handler invocation indicative of movement. Handler should resampling via PGDisplay::cursorPosition.
     */
    cursorMoveHandler(): () => void;
    setCursorMoveHandler$(value: () => void): void;
}
