1 | import * as Debug from 'debug';
|
2 | import { IAilment, IAilmentRegistry, IClient, IConfig, ILogger, IProject, ISession, IShell, PackageJson, PatientTreatmentStep, ProjectType } from '../../../definitions';
|
3 | export interface AilmentDeps {
|
4 | client: IClient;
|
5 | config: IConfig;
|
6 | log: ILogger;
|
7 | project: IProject;
|
8 | shell: IShell;
|
9 | session: ISession;
|
10 | }
|
11 | export declare abstract class Ailment implements IAilment {
|
12 | protected readonly client: IClient;
|
13 | protected readonly config: IConfig;
|
14 | protected readonly log: ILogger;
|
15 | protected readonly project: IProject;
|
16 | protected readonly shell: IShell;
|
17 | protected readonly session: ISession;
|
18 | private _debug?;
|
19 | abstract readonly id: string;
|
20 | readonly projects?: ProjectType[];
|
21 | readonly implicit: boolean;
|
22 | constructor({ client, config, log, project, shell, session }: AilmentDeps);
|
23 | readonly debug: Debug.IDebugger;
|
24 | abstract getMessage(): Promise<string>;
|
25 | abstract detected(): Promise<boolean>;
|
26 | abstract getTreatmentSteps(): Promise<PatientTreatmentStep[]>;
|
27 | getLocalPackageJson(pkgName: string): Promise<PackageJson | undefined>;
|
28 | }
|
29 | export declare class AilmentRegistry implements IAilmentRegistry {
|
30 | protected _ailments: IAilment[];
|
31 | register(ailment: IAilment): void;
|
32 | readonly ailments: IAilment[];
|
33 | get(id: string): IAilment | undefined;
|
34 | }
|