import type { NobjcObject } from "objc-js";
import type { _CalCalendarItem } from "./CalCalendarItem.js";
import type { _CalRecurrenceRule } from "./CalRecurrenceRule.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSDate } from "../Foundation/NSDate.js";
import type { _NSString } from "../Foundation/NSString.js";
export declare class _CalEvent extends _CalCalendarItem {
    static alloc(): _CalEvent;
    static new(): _CalEvent;
    init(): _CalEvent;
    /**
     * The calendar property must be set before calling saveEvent on a new event
     * @deprecated
     */
    static event(): NobjcObject;
    /** @deprecated */
    isAllDay(): boolean;
    setIsAllDay$(value: boolean): void;
    /** @deprecated */
    location(): _NSString;
    setLocation$(value: _NSString): void;
    /** @deprecated */
    recurrenceRule(): _CalRecurrenceRule;
    setRecurrenceRule$(value: _CalRecurrenceRule): void;
    /**
     * The client is responsible for making sure they never attempt to save an event with a start date that occurs after the endDate, or an endDate that occurs before the startDate. Calling saveEvent: on an improperly configured event will fail.
     * @deprecated
     */
    startDate(): _NSDate;
    setStartDate$(value: _NSDate): void;
    /** @deprecated */
    endDate(): _NSDate;
    setEndDate$(value: _NSDate): void;
    /**
     * It is not possible to modify an event's attendees
     * @deprecated
     */
    attendees(): _NSArray;
    /**
     * @property(ivar, readonly) (BOOL)isDetached; If this CalEvent is an instance of a repeating event, and an attribute of this CalEvent has been changed to from the default value generated by the repeating event, isDetached will return YES. If the CalEvent is unchanged from its default state, or is not a repeating event, isDetached returns NO.
     * @deprecated
     */
    isDetached(): boolean;
    /**
     * @property(ivar, readonly) (NSDate *)occurrence; Returns the occurrence date of a CalEvent. Since all instances of a repeating event have the same UID, we need another way to differentiate between those CalEvents. This method returns the NSDate on which this event was originally scheduled to occur. This value will remain the same even if the event has been detached and its start date has changed. For CalEvents not part of a repeating pattern, this method will return the same value as startDate.
     * @deprecated
     */
    occurrence(): _NSDate;
}
