import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSDate } from "../Foundation/NSDate.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSSecureCoding } from "../Foundation/NSSecureCoding.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _INRestaurant } from "./INRestaurant.js";
export declare class _INRestaurantReservationBooking extends _NSObject {
    static alloc(): _INRestaurantReservationBooking;
    static new(): _INRestaurantReservationBooking;
    init(): _INRestaurantReservationBooking;
    initWithRestaurant$bookingDate$partySize$bookingIdentifier$(restaurant: _INRestaurant, bookingDate: _NSDate, partySize: number, bookingIdentifier: _NSString): _INRestaurantReservationBooking;
    restaurant(): _INRestaurant;
    setRestaurant$(value: _INRestaurant): void;
    /** A nullable string describing the booking */
    bookingDescription(): _NSString | null;
    setBookingDescription$(value: _NSString | null): void;
    bookingDate(): _NSDate;
    setBookingDate$(value: _NSDate): void;
    partySize(): number;
    setPartySize$(value: number): void;
    /** A vendor specific identifier that refers to this booking. */
    bookingIdentifier(): _NSString;
    setBookingIdentifier$(value: _NSString): void;
    /** Boolean indicating whether timeslot is available for booking. Defaults to YES. */
    bookingAvailable(): boolean;
    setBookingAvailable$(value: boolean): void;
    offers(): _NSArray | null;
    setOffers$(value: _NSArray | null): void;
    /**
     * YES means restaurant must be contacted by phone before confirmation is given. Defaults to NO.
     */
    requiresManualRequest(): boolean;
    setRequiresManualRequest$(value: boolean): void;
    /** YES means an email address is required to book. Defaults to NO. */
    requiresEmailAddress(): boolean;
    setRequiresEmailAddress$(value: boolean): void;
    /** YES means a name is required to book. Defaults to NO. */
    requiresName(): boolean;
    setRequiresName$(value: boolean): void;
    /** YES means a phone number required to book. Defaults to NO. */
    requiresPhoneNumber(): boolean;
    setRequiresPhoneNumber$(value: boolean): void;
}
export interface _INRestaurantReservationBooking extends _NSSecureCoding, _NSCopying {
}
