export interface NPMPackage {
    name: string;
    description?: string;
    version: string;
    bin?: Record<string, string>;
    dependencies?: Record<string, string>;
    scripts?: Record<string, string>;
    keywords?: string[];
    links?: {
        npm?: string;
        repository?: string;
        homepage?: string;
    };
    original?: PackageInfo;
}
export interface SearchResponse {
    objects: Array<{
        package: {
            name: string;
            scope: string;
            version: string;
            description: string;
            keywords: string[];
            date: string;
        };
    }>;
    total: number;
    time: string;
}
export interface PackageInfo {
    name: string;
    "dist-tags": {
        latest: string;
        [tag: string]: string;
    };
    versions: {
        [version: string]: {
            name: string;
            version: string;
            description?: string;
            bin?: Record<string, string>;
            scripts?: Record<string, string>;
            dependencies?: Record<string, string>;
            devDependencies?: Record<string, string>;
            keywords?: string[];
            repository?: {
                type: string;
                url: string;
            };
            homepage?: string;
            author?: {
                name?: string;
                email?: string;
                url?: string;
            };
            license?: string;
            dist: {
                shasum: string;
                tarball: string;
                integrity?: string;
                fileCount?: number;
                unpackedSize?: number;
                "npm-signature"?: string;
            };
            _id?: string;
            _npmVersion?: string;
            _npmUser?: {
                name: string;
                email: string;
            };
            maintainers?: Array<{
                name?: string;
                email?: string;
                url?: string;
            }>;
        };
    };
    time?: {
        created: string;
        modified: string;
        [version: string]: string;
    };
    readme?: string;
    _id?: string;
    _rev?: string;
}
export interface NpxFinderOptions {
    timeout?: number;
    retries?: number;
    retryDelay?: number;
}
