import type { _HKLiveWorkoutBuilderDelegate } from "./HKLiveWorkoutBuilderDelegate.js";
import type { _HKLiveWorkoutDataSource } from "./HKLiveWorkoutDataSource.js";
import type { _HKWorkoutActivity } from "./HKWorkoutActivity.js";
import type { _HKWorkoutBuilder } from "./HKWorkoutBuilder.js";
import type { _HKWorkoutSession } from "./HKWorkoutSession.js";
export declare class _HKLiveWorkoutBuilder extends _HKWorkoutBuilder {
    static alloc(): _HKLiveWorkoutBuilder;
    static new(): _HKLiveWorkoutBuilder;
    init(): _HKLiveWorkoutBuilder;
    /**
     * @property delegate @abstract The delegate object which will be notified of changes to collected data and elapsed workout time.
     */
    delegate(): _HKLiveWorkoutBuilderDelegate | null;
    setDelegate$(value: _HKLiveWorkoutBuilderDelegate | null): void;
    /**
     * @property workoutSession @abstract The workout session with which this builder is associated.
     */
    workoutSession(): _HKWorkoutSession | null;
    /**
     * @property shouldCollectWorkoutEvents @abstract Whether or not the builder should automatically incorporate events generated by the session. @discussion YES if the builder should automatically incorporate events from the associated session. If NO, the client is expected to add relevant events directly to the builder and those generated by the session will be ignored. Defaults to YES. The result of changing this value after a call to beginCollectionWithStartDate:completion: is undefined.
     */
    shouldCollectWorkoutEvents(): boolean;
    setShouldCollectWorkoutEvents$(value: boolean): void;
    /**
     * @property dataSource @abstract The data source that will provide data to this workout builder.
     */
    dataSource(): _HKLiveWorkoutDataSource | null;
    setDataSource$(value: _HKLiveWorkoutDataSource | null): void;
    /**
     * @property elapsedTime @abstract The elapsed duration of the workout as constructed thus far, considering paused time. When the builder is reading events from an active session, it is possible for this value to increase or decrease; when this occurs, the workoutBuilderDidCollectEvent: delegate method will be called.
     */
    elapsedTime(): number;
    /**
     * @property currentWorkoutActivity @abstract The latest activity that has been added to this builder. @discussion When an activity is in progress it will be returned by this property. The end date of this activity will always be nil. When the activity is ended, the property would be set to nil until a new activity begins.
     */
    currentWorkoutActivity(): _HKWorkoutActivity;
}
