/// <reference types="node" />
import { Activity, Api, ApiScope, WebApi } from 'strava-api-handler';
import { ActivityFilters } from 'strava-api-handler/src/types/ActivityFilters';
import StravaStorageService from './StravaStorageService';
export default class StravaService {
    protected api: Api;
    protected storage: StravaStorageService;
    protected webApi: WebApi;
    protected returnUrl: string;
    constructor(api: Api, storage: StravaStorageService, webApi: WebApi, returnUrl: string);
    getApi(): Api;
    getWebApi(): WebApi;
    getLoginUrl(scopes: ApiScope[]): string;
    authorize(code: string): Promise<{
        access_token: string;
    }>;
    getActivity(id: number): Promise<Activity<number, import("strava-api-handler/dist/types/api/Activity").ApiActivity>>;
    getActivities(filters?: ActivityFilters): Promise<any>;
    protected getActivityFromUpload(uploadId: number): Promise<number>;
    createActivity(activity: Activity, type?: 'gpx' | 'fit', content?: string | Buffer): Promise<Activity<number>>;
    getActivityPoint(activity: Activity<number>): Promise<{
        lat: any;
        lon: any;
        time: Date;
        cadence: any;
        heartrate: any;
        temp: any;
        altitude: any;
    }[]>;
}
