import { Dict } from 'epdoc-util'; import { OpenUrlFunction } from './server'; import { StravaConfig } from './strava-config'; import { DateRange, StravaContext } from './strava-context'; import { FilePath, LogFunctions } from './util'; export type SegmentConfig = { description: string; alias: Dict; data: Dict; }; export type MainOpts = { config?: StravaConfig; openUrl: OpenUrlFunction; refreshStarredSegments?: boolean; segmentsCachePath?: FilePath; credentialsFile?: FilePath; athlete?: string; athleteId?: number; selectedBikes?: string[]; friends?: string[]; dates?: DateRange[]; dateRanges?: DateRange[]; more?: boolean; kml?: string; xml?: string; activities?: string[]; activityFilter?: string[]; commuteOnly?: boolean; nonCommuteOnly?: boolean; imperial?: boolean; segments?: boolean | string; verbose?: number; log?: LogFunctions; }; export declare function main(options: MainOpts): Main; export declare class Main { private options; private _config; private segments; private segmentsFileLastModified; private segmentConfig; private gear; private segmentEfforts; private starredSegments; strava: StravaContext; private _log; constructor(options: MainOpts); get config(): StravaConfig; get log(): LogFunctions; /** * Read configuration files * @returns */ init(): Promise; /** * Authenticate with Strava. Will open a browser page if required. * @returns */ auth(): Promise; run(): Promise; logAthlete(): void; /** * Call only when generating KML file with all segments */ private addStarredSegmentsCoordinates; }