import { Config } from './Config.js';
import { ConfigInterface } from '../types/Config.js';
import { Package } from './Package.js';
import { ManagerReport, PackageVersion } from '../types/Package.js';
import { RegistryPackages, RegistryType } from '../types/Registry.js';
import { Base } from './Base.js';
import { Architecture, SystemType } from '../index-browser.js';
export declare class Manager extends Base {
    protected config: Config;
    protected packages: Map<string, Package>;
    type: RegistryType;
    constructor(type: RegistryType, config?: ConfigInterface);
    addPackage(pkg: Package): void;
    filter(method: (pkgVersion: PackageVersion, pkg: Package) => boolean): Package[];
    getPackage(slug: string): Package | undefined;
    getReport(): ManagerReport;
    outputReport(): void;
    listPackages(installed?: boolean, architecture?: Architecture, system?: SystemType): Package[];
    removePackage(slug: string): void;
    reset(): void;
    search(query: string): Package[];
    sync(): Promise<void>;
    toJSON(): RegistryPackages;
}
