import { HealthKitDataSource } from './HealthKitDataSource';
import { HealthKitTypeInfo } from '../../domain/repositories/HealthKitRepository';
import { HealthKitAuthorizationStatusItem } from '../../../core/types/HealthKitTypes';
import { HealthKitSample, HealthKitCategorySample, HealthKitWorkout } from '../../domain/entities/HealthKitSample';
export declare class NativeHealthKitDataSource implements HealthKitDataSource {
    private nativeModule;
    requestAuthorization(): Promise<boolean>;
    requestSelectiveAuthorization(readTypes: string[], writeTypes?: string[]): Promise<boolean>;
    getAuthorizationStatus(identifiers: string[]): Promise<HealthKitAuthorizationStatusItem[]>;
    getAvailableTypes(): Promise<HealthKitTypeInfo[]>;
    getTypeInfo(identifier: string): Promise<HealthKitTypeInfo>;
    getQuantitySamplesForDays(identifier: string, unit: string, days: number): Promise<HealthKitSample[]>;
    getCategorySamplesForDays(identifier: string, days: number): Promise<HealthKitCategorySample[]>;
    getWorkoutsForDays(days: number): Promise<HealthKitWorkout[]>;
    getQuantitySamplesForRange(identifier: string, unit: string, startDate: string, endDate: string): Promise<HealthKitSample[]>;
    getCategorySamplesForRange(identifier: string, startDate: string, endDate: string): Promise<HealthKitCategorySample[]>;
    getWorkoutsForRange(startDate: string, endDate: string): Promise<HealthKitWorkout[]>;
    getQuantitySamplesWithRange(identifier: string, unit: string, startDate: number, endDate: number): Promise<number[]>;
    getCategorySamplesWithRange(identifier: string, startDate: number, endDate: number): Promise<HealthKitCategorySample[]>;
    getWorkoutsWithRange(startDate: number, endDate: number): Promise<HealthKitWorkout[]>;
    isAvailable(): boolean;
}
