import * as pulumi from "@pulumi/pulumi";
/**
 * This data source fetches information from a provided Artifact Registry repository, based on a the latest version of the package and optional version.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const npmRepo = new gcp.artifactregistry.Repository("npm_repo", {
 *     location: "us-central1",
 *     repositoryId: "my-npm-repo",
 *     format: "NPM",
 * });
 * const latest = gcp.artifactregistry.getNpmPackageOutput({
 *     location: npmRepo.location,
 *     repositoryId: npmRepo.repositoryId,
 *     packageName: "example-pkg",
 * });
 * const withVersion = gcp.artifactregistry.getNpmPackageOutput({
 *     location: npmRepo.location,
 *     repositoryId: npmRepo.repositoryId,
 *     packageName: "example-pkg:1.0.0",
 * });
 * ```
 */
export declare function getNpmPackage(args: GetNpmPackageArgs, opts?: pulumi.InvokeOptions): Promise<GetNpmPackageResult>;
/**
 * A collection of arguments for invoking getNpmPackage.
 */
export interface GetNpmPackageArgs {
    /**
     * The location of the Artifact Registry repository.
     */
    location: string;
    /**
     * The name of the package to fetch. Can optionally include a specific version (e.g., `my_pkg:1.2.3`). If no version is provided, the latest version is used.
     */
    packageName: string;
    /**
     * The ID of the project that owns the repository. If not provided, the provider-level project is used.
     */
    project?: string;
    /**
     * The ID of the repository containing the NPM package.
     */
    repositoryId: string;
}
/**
 * A collection of values returned by getNpmPackage.
 */
export interface GetNpmPackageResult {
    /**
     * The time the package was created.
     */
    readonly createTime: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly location: string;
    /**
     * The fully qualified name of the fetched package. Format:
     * ```
     * projects/{{project}}/locations/{{location}}/repositories/{{repository_id}}/npmPackages/{{package}}:{{version}}
     * ```
     */
    readonly name: string;
    readonly packageName: string;
    readonly project?: string;
    readonly repositoryId: string;
    /**
     * A list of all Tags attached to this package.
     */
    readonly tags: string[];
    /**
     * The time the package was last updated.
     */
    readonly updateTime: string;
    /**
     * The version of the NPM package.
     */
    readonly version: string;
}
/**
 * This data source fetches information from a provided Artifact Registry repository, based on a the latest version of the package and optional version.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const npmRepo = new gcp.artifactregistry.Repository("npm_repo", {
 *     location: "us-central1",
 *     repositoryId: "my-npm-repo",
 *     format: "NPM",
 * });
 * const latest = gcp.artifactregistry.getNpmPackageOutput({
 *     location: npmRepo.location,
 *     repositoryId: npmRepo.repositoryId,
 *     packageName: "example-pkg",
 * });
 * const withVersion = gcp.artifactregistry.getNpmPackageOutput({
 *     location: npmRepo.location,
 *     repositoryId: npmRepo.repositoryId,
 *     packageName: "example-pkg:1.0.0",
 * });
 * ```
 */
export declare function getNpmPackageOutput(args: GetNpmPackageOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetNpmPackageResult>;
/**
 * A collection of arguments for invoking getNpmPackage.
 */
export interface GetNpmPackageOutputArgs {
    /**
     * The location of the Artifact Registry repository.
     */
    location: pulumi.Input<string>;
    /**
     * The name of the package to fetch. Can optionally include a specific version (e.g., `my_pkg:1.2.3`). If no version is provided, the latest version is used.
     */
    packageName: pulumi.Input<string>;
    /**
     * The ID of the project that owns the repository. If not provided, the provider-level project is used.
     */
    project?: pulumi.Input<string | undefined>;
    /**
     * The ID of the repository containing the NPM package.
     */
    repositoryId: pulumi.Input<string>;
}
//# sourceMappingURL=getNpmPackage.d.ts.map