UNPKG

1.36 kBTypeScriptView Raw
1import * as Debug from 'debug';
2import { IAilment, IAilmentRegistry, IClient, IConfig, ILogger, IProject, ISession, IShell, PackageJson, PatientTreatmentStep, ProjectType } from '../../../definitions';
3export interface AilmentDeps {
4 client: IClient;
5 config: IConfig;
6 log: ILogger;
7 project: IProject;
8 shell: IShell;
9 session: ISession;
10}
11export 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}
29export 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}