import { ToolingPackageDescriptor, ToolingPackage } from './internal'; /** * Defines a system that knows about tooling packages * * @export * @interface IPackages */ export interface IPackages { /** * Finds tooling packages with additional keywords * * @param {string[]} keywords * @param {number} [limit] * @returns {Promise} */ withKeywords(keywords: string[], limit?: number): Promise; /** * Finds tooling packages under a user * * @param {string} user * @param {(toolingPackage: ToolingPackage) => boolean} [check] * @returns {Promise} */ byUser(user: string, check?: (toolingPackage: ToolingPackage) => boolean): Promise; /** * Finds the latest compatible tooling packages with additional keywords * * @param {string[]} keywords * @param {number} [limit] * @returns {Promise} */ latestCompatibleWithKeywords(keywords: string[], limit?: number): Promise; /** * Finds the latest compatible tooling packages under a user * * @param {string} user * @param {(toolingPackage: ToolingPackage) => boolean} [check] * @returns {Promise} */ latestCompatibleByUser(user: string, check?: (toolingPackage: ToolingPackage) => boolean): Promise; }