import type { _NSData } from "../Foundation/NSData.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _MCBrowserViewController } from "./MCBrowserViewController.js";
import type { _MCNearbyServiceBrowserDelegate } from "./MCNearbyServiceBrowserDelegate.js";
import type { _MCPeerID } from "./MCPeerID.js";
import type { _MCSession } from "./MCSession.js";
export declare class _MCNearbyServiceBrowser extends _NSObject {
    static alloc(): _MCNearbyServiceBrowser;
    static new(): _MCNearbyServiceBrowser;
    init(): _MCNearbyServiceBrowser;
    initWithPeer$serviceType$(myPeerID: _MCPeerID, serviceType: _NSString): _MCNearbyServiceBrowser;
    /**
     * The methods -startBrowsingForPeers and -stopBrowsingForPeers are used to start and stop looking for nearby advertising peers.
     */
    startBrowsingForPeers(): void;
    stopBrowsingForPeers(): void;
    /**
     * The method -invitePeer:toSession:withContext:timeout: sends an invitation to a peer, and when the peer accepts the invitation, adds the peer to the specified session. The invited peer will receive a -advertiser: didReceiveInvitationFromPeer:withContext:invitationHandler: callback. The context is passed through to the invited peer. It can be used to describe the session or pass some additional identification information to the invitee. The timeout parameter is seconds and should be a positive value. If a timeout of < =0 is specified, a default value of 30 seconds will be used instead.
     */
    invitePeer$toSession$withContext$timeout$(peerID: _MCPeerID, session: _MCSession, context: _NSData | null, timeout: number): void;
    delegate(): _MCBrowserViewController | null;
    setDelegate$(value: _MCNearbyServiceBrowserDelegate | null): void;
    myPeerID(): _MCPeerID;
    serviceType(): _NSString;
}
