export interface IVerdaccioConfig { storagePath: string; configPath: string; domainPath: string; port: number | string; } export interface IRequestPromise { status(reason: any): any; body_ok(reason: any): any; body_error(reason: any): any; request(reason: any): any; response(reason: any): any; send(reason: any): any; } export interface IServerProcess { init(): Promise; stop(): void; } // eslint-disable-next-line no-unused-vars declare class PromiseAssert extends Promise { public constructor(options: any); } export interface IServerBridge { url: string; userAgent: string; authstr: string; request(options: any): typeof PromiseAssert; auth(name: string, password: string): IRequestPromise; auth(name: string, password: string): IRequestPromise; logout(token: string): Promise; getPackage(name: string): Promise; putPackage(name: string, data: any): Promise; putVersion(name: string, version: string, data: any): Promise; getTarball(name: string, filename: string): Promise; putTarball(name: string, filename: string, data: any): Promise; removeTarball(name: string): Promise; removeSingleTarball(name: string, filename: string): Promise; addTag(name: string, tag: string, version: string): Promise; putTarballIncomplete( name: string, filename: string, data: any, size: number, cb: Function ): Promise; addPackage(name: string): Promise; whoami(): Promise; ping(): Promise; debug(): IRequestPromise; }