import * as pulumi from "@pulumi/pulumi";
/**
 * Get Artifact Registry locations available for a project.
 *
 * To get more information about Artifact Registry, see:
 *
 * * [API documentation](https://cloud.google.com/artifact-registry/docs/reference/rest/v1/projects.locations/list)
 * * How-to Guides
 *     * [Official Documentation](https://cloud.google.com/artifact-registry/docs/overview)
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const available = gcp.artifactregistry.getLocations({});
 * ```
 *
 * ### Multi-Regional Artifact Registry Deployment
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const available = gcp.artifactregistry.getLocations({});
 * const repoOne = new gcp.artifactregistry.Repository("repo_one", {
 *     location: available.then(available => available.locations?.[0]),
 *     repositoryId: "repo-one",
 *     format: "apt",
 * });
 * const repoTwo = new gcp.artifactregistry.Repository("repo_two", {
 *     location: available.then(available => available.locations?.[1]),
 *     repositoryId: "repo-two",
 *     format: "apt",
 * });
 * ```
 */
export declare function getLocations(args?: GetLocationsArgs, opts?: pulumi.InvokeOptions): Promise<GetLocationsResult>;
/**
 * A collection of arguments for invoking getLocations.
 */
export interface GetLocationsArgs {
    /**
     * The project to list versions for. If it
     * is not provided, the provider project is used.
     */
    project?: string;
}
/**
 * A collection of values returned by getLocations.
 */
export interface GetLocationsResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The list of Artifact Registry locations available for the given project.
     */
    readonly locations: string[];
    readonly project: string;
}
/**
 * Get Artifact Registry locations available for a project.
 *
 * To get more information about Artifact Registry, see:
 *
 * * [API documentation](https://cloud.google.com/artifact-registry/docs/reference/rest/v1/projects.locations/list)
 * * How-to Guides
 *     * [Official Documentation](https://cloud.google.com/artifact-registry/docs/overview)
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const available = gcp.artifactregistry.getLocations({});
 * ```
 *
 * ### Multi-Regional Artifact Registry Deployment
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const available = gcp.artifactregistry.getLocations({});
 * const repoOne = new gcp.artifactregistry.Repository("repo_one", {
 *     location: available.then(available => available.locations?.[0]),
 *     repositoryId: "repo-one",
 *     format: "apt",
 * });
 * const repoTwo = new gcp.artifactregistry.Repository("repo_two", {
 *     location: available.then(available => available.locations?.[1]),
 *     repositoryId: "repo-two",
 *     format: "apt",
 * });
 * ```
 */
export declare function getLocationsOutput(args?: GetLocationsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetLocationsResult>;
/**
 * A collection of arguments for invoking getLocations.
 */
export interface GetLocationsOutputArgs {
    /**
     * The project to list versions for. If it
     * is not provided, the provider project is used.
     */
    project?: pulumi.Input<string>;
}
