import { Dict } from 'epdoc-util'; import { StravaCoord } from './../strava-api'; import { IsoDateString, Kilometres, LogOpts, Metres, Seconds } from './../util'; import { DetailedActivity } from './detailed-activity'; import { SegmentData } from './segment-data'; import { SegmentCacheFile } from '../segment-cache-file'; import { AliasesDict } from '../settings'; export type ActivityFilter = { commuteOnly?: boolean; nonCommuteOnly?: boolean; include?: string[]; exclude?: string[]; }; export type ActivityOpts = LogOpts & { segCacheFile?: SegmentCacheFile; aliases?: AliasesDict; }; export declare class Activity { keys: string[]; keyDict: Dict; data: Dict; description: string; commute: boolean; startDate: Date; private _log; private _segCacheFile; private _aliases; private _asString; private _segments; private _coordinates; constructor(data: Dict, opts: ActivityOpts); static newFromResponseData(data: Dict, opts: ActivityOpts): Activity; static isInstance(val: any): val is Activity; toString(): string; get coordinates(): StravaCoord[]; set coordinates(val: StravaCoord[]); get name(): string; get id(): number; get movingTime(): Seconds; get elapsedTime(): Seconds; get distance(): Metres; distanceRoundedKm(): Kilometres; get totalElevationGain(): Metres; get averageTemp(): number; get deviceName(): string; get gearId(): string; get startDateLocal(): IsoDateString; get segments(): SegmentData[]; get type(): string; isRide(): boolean; hasKmlData(): boolean; /** * Get starred segment_efforts and descriptions from the DetailedActivity * object and add to Acivity. * @param data */ addFromDetailedActivity(data: DetailedActivity): void; private _addDescriptionFromDetailedActivity; private _addDetailSegmentsFromDetailedActivity; private _addDetailSegment; include(filter: ActivityFilter): boolean; static compareStartDate(a: Activity, b: Activity): 0 | 1 | -1; }