import { Config } from './config/config';
interface ModuleData {
    module: string;
    metadata: object;
    location: string;
}
export interface NpmPackageData {
    name: string;
    version: string;
    date: string;
    keywords: string[];
}
export interface Package {
    name: string;
    publisher?: {
        username: string;
    };
    dependencies: {
        [key: string]: any;
    };
    version: string;
    description: string;
    license: string;
}
export declare function modulesWithKeyword(config: Config, keyword: string): ModuleData[];
export declare function restoreModules(config: Config, onData: (output: any) => void, onErr: (err: Error) => void, onClose: (code: number) => any): void;
export declare function checkForNewServerVersion(currentVersion: string, serverUpgradeIsAvailable: (errMessage: string | void, version?: string) => any, getLatestServerVersionP?: (version: string) => Promise<string>): void;
export declare function getAuthor(thePackage: Package): string;
export declare function getKeywords(thePackage: NpmPackageData): string[];
export declare function importOrRequire(moduleDir: string): Promise<any>;
export {};
//# sourceMappingURL=modules.d.ts.map