import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to get information about the available locations. For more details refer the [API docs](https://cloud.google.com/alloydb/docs/reference/rest/v1/projects.locations).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const qa = gcp.alloydb.getLocations({});
 * ```
 */
export declare function getLocations(args?: GetLocationsArgs, opts?: pulumi.InvokeOptions): Promise<GetLocationsResult>;
/**
 * A collection of arguments for invoking getLocations.
 */
export interface GetLocationsArgs {
    /**
     * The ID of the project.
     */
    project?: string;
}
/**
 * A collection of values returned by getLocations.
 */
export interface GetLocationsResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Contains a list of `location`, which contains the details about a particular location.
     */
    readonly locations: outputs.alloydb.GetLocationsLocation[];
    readonly project?: string;
}
/**
 * Use this data source to get information about the available locations. For more details refer the [API docs](https://cloud.google.com/alloydb/docs/reference/rest/v1/projects.locations).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const qa = gcp.alloydb.getLocations({});
 * ```
 */
export declare function getLocationsOutput(args?: GetLocationsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetLocationsResult>;
/**
 * A collection of arguments for invoking getLocations.
 */
export interface GetLocationsOutputArgs {
    /**
     * The ID of the project.
     */
    project?: pulumi.Input<string>;
}
