import { FPPackage, FPPackageResponse, ManagerBase, PackageFetchOption, PackageFreshOption, PackageNamedVersion, PrePackage } from '..';
export interface LibraryManager<T = FPPackage> extends ManagerBase<T> {
    addLibrary(content: FPPackage): PrePackage | null;
    removeLibraries(names: string[]): void;
    getLibrary(name: string, version?: string): Promise<PrePackage | undefined>;
    getLibraries(names: string[]): Promise<PrePackage[]>;
    getLibrariesById(ids: string[]): Promise<PrePackage[]>;
    getLibrarySync(name: string, version?: string): PrePackage | null;
    getLocalLibrary(name: string, version?: string): Promise<PrePackage | null>;
    freshLibraries(params?: PackageFreshOption): Promise<PrePackage[]>;
    fetchLibraries(packageIds?: string[], opt?: Pick<PackageFreshOption, 'strategy'>): Promise<FPPackage[]>;
    fetchLibrariesByNamedVersions(nameVersions: PackageNamedVersion[], opt?: PackageFetchOption): Promise<FPPackageResponse[]>;
}
