/**
 * Registry Clients for Package Metadata
 * Fetches package information from npm and PyPI registries
 * Used by the Hallucination Firewall (Story C) to assess dependency risk
 */
/**
 * NPM Package Metadata Interface
 */
export interface NPMPackageMetadata {
    name: string;
    version: string;
    description?: string;
    maintainers: Array<{
        name: string;
        email?: string;
    }>;
    time: {
        created: string;
        modified: string;
        [version: string]: string;
    };
    repository?: {
        type: string;
        url: string;
    };
    homepage?: string;
    license?: string;
    downloads?: {
        weekly: number;
    };
}
/**
 * PyPI Package Metadata Interface
 */
export interface PyPIPackageMetadata {
    name: string;
    version: string;
    summary?: string;
    author?: string;
    authorEmail?: string;
    license?: string;
    projectUrls?: Record<string, string>;
    releaseDate?: string;
    requiresPython?: string;
}
/**
 * Extracted dependency information
 */
export interface ExtractedDependency {
    name: string;
    version?: string;
    source: 'dependencies' | 'devDependencies' | 'peerDependencies' | 'optionalDependencies' | 'requirements';
    line: number;
}
/**
 * Fetch package metadata from npm registry
 * Returns null if package doesn't exist
 */
export declare function fetchNPMMetadata(packageName: string): Promise<NPMPackageMetadata | null>;
/**
 * Fetch package metadata from PyPI registry
 * Returns null if package doesn't exist
 */
export declare function fetchPyPIMetadata(packageName: string): Promise<PyPIPackageMetadata | null>;
/**
 * Extract dependencies from package.json content
 */
export declare function extractNpmDependencies(content: string): ExtractedDependency[];
/**
 * Extract dependencies from requirements.txt content
 */
export declare function extractPythonRequirements(content: string): ExtractedDependency[];
/**
 * Extract dependencies from pyproject.toml content
 */
export declare function extractPyprojectDependencies(content: string): ExtractedDependency[];
/**
 * Determine the package file type from path
 */
export declare function getPackageFileType(filePath: string): 'npm' | 'python' | null;
/**
 * Calculate package age in days from creation date
 */
export declare function calculatePackageAgeDays(createdDate: string | undefined): number;
/**
 * Rate limiter helper - adds delay between registry requests
 */
export declare function rateLimitDelay(): Promise<void>;
/**
 * Clear all caches (useful for testing)
 */
export declare function clearRegistryCaches(): void;
//# sourceMappingURL=registry-clients.d.ts.map