import { Dict } from 'epdoc-util'; import { SegmentName } from './models/segment-base'; import { StravaClientSecret } from './strava-api'; import { StravaCreds } from './strava-creds'; import { FilePath, LogOpts } from './util'; export type BikeDef = { name: string; pattern: string; }; export type ProjectSettings = { description?: string; clientSecretPath?: FilePath; credentialsPath?: FilePath; userSettingsPath?: FilePath; segmentsCachePath?: FilePath; aliases?: AliasesDict; bikes?: BikeDef[]; }; export type AliasesDict = Record; export declare function isAliasesDict(val: any): val is AliasesDict; export declare function isProjectSettings(val: any): val is ProjectSettings; /** * Represents a merger of project and user settings, and is used to read and get * data that is referenced by these merged files. */ export declare class Settings { private _filePath; private _replacements; private _settings; private _log; constructor(filePath: FilePath, replacements: Dict, opts: LogOpts); get aliases(): AliasesDict; get bikes(): BikeDef[]; credentials(): Promise; clientSecret(): Promise; /** * Reads the segments cache file, if there is one. * @returns */ segments_deprecated(): Promise; get segmentsCachePath(): FilePath; read(): Promise; }