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 { _NSUserActivity } from "../Foundation/NSUserActivity.js";
import type { _INDateComponentsRange } from "./INDateComponentsRange.js";
import type { _INRideCompletionStatus } from "./INRideCompletionStatus.js";
import type { _INRideDriver } from "./INRideDriver.js";
import type { _INRideOption } from "./INRideOption.js";
import type { _INRideVehicle } from "./INRideVehicle.js";
import type { _CLPlacemark } from "../CoreLocation/CLPlacemark.js";
import type { INRidePhase } from "./INRidePhase.js";
export declare class _INRideStatus extends _NSObject {
    static alloc(): _INRideStatus;
    static new(): _INRideStatus;
    init(): _INRideStatus;
    rideIdentifier(): _NSString | null;
    setRideIdentifier$(value: _NSString | null): void;
    phase(): INRidePhase;
    setPhase$(value: INRidePhase): void;
    /** This property should be set if the phase is INRidePhaseCompleted. */
    completionStatus(): _INRideCompletionStatus | null;
    setCompletionStatus$(value: _INRideCompletionStatus | null): void;
    vehicle(): _INRideVehicle | null;
    setVehicle$(value: _INRideVehicle | null): void;
    driver(): _INRideDriver | null;
    setDriver$(value: _INRideDriver | null): void;
    estimatedPickupDate(): _NSDate | null;
    setEstimatedPickupDate$(value: _NSDate | null): void;
    estimatedDropOffDate(): _NSDate | null;
    setEstimatedDropOffDate$(value: _NSDate | null): void;
    /**
     * This is the date after arrival at the pickup location after which the ride may stop waiting for the passenger to be picked up. The passenger is expected to arrive at pickup before this date.
     */
    estimatedPickupEndDate(): _NSDate | null;
    setEstimatedPickupEndDate$(value: _NSDate | null): void;
    /** Time range for the scheduled pickup. */
    scheduledPickupTime(): _INDateComponentsRange | null;
    setScheduledPickupTime$(value: _INDateComponentsRange | null): void;
    pickupLocation(): _CLPlacemark | null;
    setPickupLocation$(value: _CLPlacemark | null): void;
    waypoints(): _NSArray | null;
    setWaypoints$(value: _NSArray | null): void;
    dropOffLocation(): _CLPlacemark | null;
    setDropOffLocation$(value: _CLPlacemark | null): void;
    rideOption(): _INRideOption | null;
    setRideOption$(value: _INRideOption | null): void;
    /**
     * If set, and the ride hasn't completed or been canceled yet, the system may open the containing application and request continuation of this activity to request that the ride be canceled. It is appropriate to show confirmation UI to the user when this happens.
     */
    userActivityForCancelingInApplication(): _NSUserActivity | null;
    setUserActivityForCancelingInApplication$(value: _NSUserActivity | null): void;
    /**
     * These actions may be available for the user to choose during the ride. When shown, the .title of each activity will presented to the user. Selecting an activity will open your application to continue it.
     */
    additionalActionActivities(): _NSArray | null;
    setAdditionalActionActivities$(value: _NSArray | null): void;
}
export interface _INRideStatus extends _NSCopying, _NSSecureCoding {
}
