import * as nano from 'nano'; import { NodeRequestService } from '@theia/request/lib/node-request-service'; import { NpmRegistryProps } from './application-props'; export interface IChangeStream { on(event: 'data', cb: (change: { id: string; }) => void): void; destroy(): void; } export interface Author { name: string; email: string; } export interface Maintainer { username: string; email: string; } export interface Dependencies { [name: string]: string | undefined; } export interface PeerDependenciesMeta { [name: string]: { optional: boolean; } | undefined; } export interface NodePackage { name?: string; version?: string; description?: string; publisher?: Maintainer; author?: string | Author; maintainers?: Maintainer[]; keywords?: string[]; dependencies?: Dependencies; peerDependencies?: Dependencies; peerDependenciesMeta?: PeerDependenciesMeta; [property: string]: any; } export interface PublishedNodePackage extends NodePackage { name: string; version: string; } export declare namespace PublishedNodePackage { function is(pck: NodePackage | undefined): pck is PublishedNodePackage; } export interface ViewResult { 'dist-tags': { [tag: string]: string; }; 'versions': { [version: string]: NodePackage; }; 'readme': string; [key: string]: any; } export declare function sortByKey(object: { [key: string]: any; }): { [key: string]: any; }; export declare class NpmRegistryOptions { /** * Default: false. */ readonly watchChanges: boolean; } export declare class NpmRegistry { readonly props: NpmRegistryProps; protected readonly options: NpmRegistryOptions; protected changes?: nano.ChangesReaderScope; protected readonly index: Map>; protected request: NodeRequestService; constructor(options?: Partial); updateProps(props?: Partial): void; protected resetIndex(): void; protected invalidate(name: string): void; view(name: string): Promise; protected doView(name: string): Promise; } //# sourceMappingURL=npm-registry.d.ts.map