import type { NobjcObject } from "objc-js";
import type { _NSViewController } from "../AppKit/NSViewController.js";
import type { _GKMatchRequest } from "./GKMatchRequest.js";
import type { _GKTurnBasedMatchmakerViewControllerDelegate } from "./GKTurnBasedMatchmakerViewControllerDelegate.js";
import type { _GKViewController } from "./GKViewController.js";
import type { GKMatchmakingMode } from "./GKMatchmakingMode.js";
export declare class _GKTurnBasedMatchmakerViewController extends _NSViewController {
    static alloc(): _GKTurnBasedMatchmakerViewController;
    static new(): _GKTurnBasedMatchmakerViewController;
    init(): _GKTurnBasedMatchmakerViewController;
    initWithMatchRequest$(request: _GKMatchRequest): NobjcObject;
    turnBasedMatchmakerDelegate(): _GKTurnBasedMatchmakerViewControllerDelegate | null;
    setTurnBasedMatchmakerDelegate$(value: _GKTurnBasedMatchmakerViewControllerDelegate | null): void;
    /** / defaults to YES */
    showExistingMatches(): boolean;
    setShowExistingMatches$(value: boolean): void;
    /**
     * This controls the mode of matchmaking to support in the UI (all, nearby only, automatch only, invite only). Throws an exception if you can not set to the desired mode (due to restrictions)
     */
    matchmakingMode(): GKMatchmakingMode;
    setMatchmakingMode$(value: GKMatchmakingMode): void;
}
export interface _GKTurnBasedMatchmakerViewController extends _GKViewController {
}
