import type { _HKDevice } from "./HKDevice.js";
import type { _HKHealthStore } from "./HKHealthStore.js";
import type { _HKSeriesBuilder } from "./HKSeriesBuilder.js";
import type { _HKWorkout } from "./HKWorkout.js";
import type { _HKWorkoutRoute } from "./HKWorkoutRoute.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSError } from "../Foundation/NSError.js";
export declare class _HKWorkoutRouteBuilder extends _HKSeriesBuilder {
    static alloc(): _HKWorkoutRouteBuilder;
    static new(): _HKWorkoutRouteBuilder;
    init(): _HKWorkoutRouteBuilder;
    /**
     * @method initWithHealthStore:device: @abstract The designated initializer to create an HKWorkoutRouteBuilder. If you are using an HKWorkoutBuilder , you should not create an HKWorkoutRouteBuilder, instead use -[HKWorkoutBuilder seriesBuilderForType:] @discussion The HKHealthStore is retained during the life of the object for the saving of the series data and final return of the series sample. @param healthStore Specifies the HKHealthStore object to use for building the series. @param device The optional device represents the HKDevice from which the data is provided.
     */
    initWithHealthStore$device$(healthStore: _HKHealthStore, device: _HKDevice | null): _HKWorkoutRouteBuilder;
    /**
     * @method insertRouteData:completion: @abstract Associate CLLocation with the receiver. @discussion Use this method to asynchronously add one or more CLLocation to the series. Note that CLLocation may be inserted in any order but will be sorted according to date when the series is finalized. @param routeData An array of one or more CLLocation. @param completion The completion callback handler returns the status of the save. If the completion handler success is NO, then error is non-nil. An error here is considered fatal and the series builder will be complete. If data was previously saved, then the HKWorkoutRoute may be retrieved by the finishRouteWithMetadata: method.
     */
    insertRouteData$completion$(routeData: _NSArray, completion: ((success: boolean, error: _NSError) => void) | null): void;
    /**
     * @method addMetadata:completion: @discussion Adds new metadata to the builder instance. This method can be called more than once; each time the newly provided metadata will be incorporated in the same manner as -[NSMutableDictionary addEntriesFromDictionary:]. This operation is performed asynchronously and the completion will be executed on an arbitrary background queue. @param metadata The metadata to add to the builder. @param completion Block to be called when the addition of metadata to the builder is complete. If success is YES, the metadata has been added to the builder successfully. If success is NO, error will be non-null and will contain the error encountered during the insertion operation. When an error occurs, the builder's metadata will remain unchanged.
     */
    addMetadata$completion$(metadata: _NSDictionary, completion: ((success: boolean, error: _NSError) => void) | null): void;
    /**
     * @method finishRouteWithWorkout:Metadata:completion: @abstract Method to stop data collection and return the associated HKWorkoutRoute. If you are using this route builder with a workout builder, you should never call this method. The route will be finished when you finish the workout builder. @discussion Call this method when the route has been completed. The completion handler will return the saved HKWorkoutRoute. If no series data was added, then workoutRoute will be nil and an error returned. The receiver will be considered invalid afterwards and any further calls to it will result in an error. @param workout The HKWorkout object to which the route will be associated. Must be saved to HealthKit @param metadata Optional metadata may be added to associate with the series. Predefined keys are found in HKMetadata.h, or private NSString keys used by the client are allowed. Acceptable metadata value types are NSString, NSDate, NSNumber and HKQuantity @param completion The completion callback handler returns the saved HKWorkoutRoute object. If workoutRoute is nil, an error will indicate why the series could not be returned including database inaccessibility during device lock. Subsequent requests for the HKWorkoutRoute can be made through HKSampleQuery or similar queries. workoutRoute cannot be associated to another workout.
     */
    finishRouteWithWorkout$metadata$completion$(workout: _HKWorkout, metadata: _NSDictionary | null, completion: ((workoutRoute: _HKWorkoutRoute, error: _NSError) => void) | null): void;
}
