#!/usr/bin/env node
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
import { z } from 'zod';
export declare const NpmMaintainerSchema: z.ZodObject<{
    name: z.ZodString;
    email: z.ZodOptional<z.ZodString>;
    url: z.ZodOptional<z.ZodString>;
}, z.core.$loose>;
export declare const NpmPackageVersionSchema: z.ZodObject<{
    name: z.ZodString;
    version: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    author: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        email: z.ZodOptional<z.ZodString>;
        url: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>]>>;
    license: z.ZodOptional<z.ZodString>;
    repository: z.ZodOptional<z.ZodObject<{
        type: z.ZodOptional<z.ZodString>;
        url: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>>;
    bugs: z.ZodOptional<z.ZodObject<{
        url: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>>;
    homepage: z.ZodOptional<z.ZodString>;
    dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    devDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    peerDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    types: z.ZodOptional<z.ZodString>;
    typings: z.ZodOptional<z.ZodString>;
    dist: z.ZodOptional<z.ZodObject<{
        shasum: z.ZodOptional<z.ZodString>;
        tarball: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>>;
}, z.core.$loose>;
export declare const NpmPackageInfoSchema: z.ZodObject<{
    name: z.ZodString;
    'dist-tags': z.ZodRecord<z.ZodString, z.ZodString>;
    versions: z.ZodRecord<z.ZodString, z.ZodObject<{
        name: z.ZodString;
        version: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        author: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
            name: z.ZodOptional<z.ZodString>;
            email: z.ZodOptional<z.ZodString>;
            url: z.ZodOptional<z.ZodString>;
        }, z.core.$loose>]>>;
        license: z.ZodOptional<z.ZodString>;
        repository: z.ZodOptional<z.ZodObject<{
            type: z.ZodOptional<z.ZodString>;
            url: z.ZodOptional<z.ZodString>;
        }, z.core.$loose>>;
        bugs: z.ZodOptional<z.ZodObject<{
            url: z.ZodOptional<z.ZodString>;
        }, z.core.$loose>>;
        homepage: z.ZodOptional<z.ZodString>;
        dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        devDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        peerDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        types: z.ZodOptional<z.ZodString>;
        typings: z.ZodOptional<z.ZodString>;
        dist: z.ZodOptional<z.ZodObject<{
            shasum: z.ZodOptional<z.ZodString>;
            tarball: z.ZodOptional<z.ZodString>;
        }, z.core.$loose>>;
    }, z.core.$loose>>;
    time: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    repository: z.ZodOptional<z.ZodObject<{
        type: z.ZodOptional<z.ZodString>;
        url: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>>;
    bugs: z.ZodOptional<z.ZodObject<{
        url: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>>;
    homepage: z.ZodOptional<z.ZodString>;
    maintainers: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        email: z.ZodOptional<z.ZodString>;
        url: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>>>;
}, z.core.$loose>;
export declare const NpmPackageDataSchema: z.ZodObject<{
    name: z.ZodString;
    version: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    license: z.ZodOptional<z.ZodString>;
    dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    devDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    peerDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    types: z.ZodOptional<z.ZodString>;
    typings: z.ZodOptional<z.ZodString>;
}, z.core.$loose>;
export declare const BundlephobiaDataSchema: z.ZodObject<{
    size: z.ZodNumber;
    gzip: z.ZodNumber;
    dependencyCount: z.ZodNumber;
}, z.core.$strip>;
export declare const NpmDownloadsDataSchema: z.ZodObject<{
    downloads: z.ZodNumber;
    start: z.ZodString;
    end: z.ZodString;
    package: z.ZodString;
}, z.core.$strip>;
export declare const NpmSearchResultSchema: z.ZodObject<{
    objects: z.ZodArray<z.ZodObject<{
        package: z.ZodObject<{
            name: z.ZodString;
            version: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
            publisher: z.ZodOptional<z.ZodObject<{
                username: z.ZodString;
                email: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            links: z.ZodOptional<z.ZodObject<{
                npm: z.ZodOptional<z.ZodString>;
                homepage: z.ZodOptional<z.ZodString>;
                repository: z.ZodOptional<z.ZodString>;
                bugs: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            date: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>;
        score: z.ZodObject<{
            final: z.ZodNumber;
            detail: z.ZodObject<{
                quality: z.ZodNumber;
                popularity: z.ZodNumber;
                maintenance: z.ZodNumber;
            }, z.core.$strip>;
        }, z.core.$strip>;
        searchScore: z.ZodNumber;
    }, z.core.$strip>>;
    total: z.ZodNumber;
}, z.core.$loose>;
export type NpmPackageInfo = z.infer<typeof NpmPackageInfoSchema>;
export type NpmPackageData = z.infer<typeof NpmPackageDataSchema>;
export type BundlephobiaData = z.infer<typeof BundlephobiaDataSchema>;
export type NpmDownloadsData = z.infer<typeof NpmDownloadsDataSchema>;
export declare function handleNpmVersions(args: {
    packages: string[];
    ignoreCache?: boolean;
}): Promise<CallToolResult>;
export declare function handleNpmLatest(args: {
    packages: string[];
    ignoreCache?: boolean;
}): Promise<CallToolResult>;
export declare function handleNpmDeps(args: {
    packages: string[];
    ignoreCache?: boolean;
}): Promise<CallToolResult>;
export declare function handleNpmTypes(args: {
    packages: string[];
    ignoreCache?: boolean;
}): Promise<CallToolResult>;
export declare function handleNpmSize(args: {
    packages: string[];
    ignoreCache?: boolean;
}): Promise<CallToolResult>;
export declare function handleNpmVulnerabilities(args: {
    packages: string[];
    ignoreCache?: boolean;
}): Promise<CallToolResult>;
export declare function handleNpmTrends(args: {
    packages: string[];
    period?: 'last-week' | 'last-month' | 'last-year';
    ignoreCache?: boolean;
}): Promise<CallToolResult>;
export declare function handleNpmCompare(args: {
    packages: string[];
    ignoreCache?: boolean;
}): Promise<CallToolResult>;
export declare function handleNpmQuality(args: {
    packages: string[];
    ignoreCache?: boolean;
}): Promise<CallToolResult>;
export declare function handleNpmMaintenance(args: {
    packages: string[];
    ignoreCache?: boolean;
}): Promise<CallToolResult>;
export declare function handleNpmMaintainers(args: {
    packages: string[];
    ignoreCache?: boolean;
}): Promise<CallToolResult>;
export declare function handleNpmScore(args: {
    packages: string[];
    ignoreCache?: boolean;
}): Promise<CallToolResult>;
export declare function handleNpmPackageReadme(args: {
    packages: string[];
    ignoreCache?: boolean;
}): Promise<CallToolResult>;
export declare function handleNpmSearch(args: {
    query: string;
    limit?: number;
    ignoreCache?: boolean;
}): Promise<CallToolResult>;
export declare function handleNpmLicenseCompatibility(args: {
    packages: string[];
    ignoreCache?: boolean;
}): Promise<CallToolResult>;
export declare function handleNpmRepoStats(args: {
    packages: string[];
    ignoreCache?: boolean;
}): Promise<CallToolResult>;
export declare function handleNpmDeprecated(args: {
    packages: string[];
    ignoreCache?: boolean;
}): Promise<CallToolResult>;
export declare function handleNpmChangelogAnalysis(args: {
    packages: string[];
    ignoreCache?: boolean;
}): Promise<CallToolResult>;
export declare function handleNpmAlternatives(args: {
    packages: string[];
    ignoreCache?: boolean;
}): Promise<CallToolResult>;
export declare const configSchema: z.ZodObject<{
    NPM_REGISTRY_URL: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export default function createServer({ config }: {
    config: z.infer<typeof configSchema>;
}): import("@modelcontextprotocol/sdk/server").Server<{
    method: string;
    params?: {
        [x: string]: unknown;
        _meta?: {
            [x: string]: unknown;
            progressToken?: string | number | undefined;
            "io.modelcontextprotocol/related-task"?: {
                taskId: string;
            } | undefined;
        } | undefined;
    } | undefined;
}, {
    method: string;
    params?: {
        [x: string]: unknown;
        _meta?: {
            [x: string]: unknown;
            progressToken?: string | number | undefined;
            "io.modelcontextprotocol/related-task"?: {
                taskId: string;
            } | undefined;
        } | undefined;
    } | undefined;
}, {
    [x: string]: unknown;
    _meta?: {
        [x: string]: unknown;
        progressToken?: string | number | undefined;
        "io.modelcontextprotocol/related-task"?: {
            taskId: string;
        } | undefined;
    } | undefined;
}>;
//# sourceMappingURL=index.d.ts.map