import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to query the IAM project list within HuaweiCloud.
 *
 * > **NOTE:** You *must* have IAM read privileges to use this data source.
 *
 * ## Example Usage
 * ### Obtain project information by name
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const test = pulumi.output(huaweicloud.Iam.getProjects({
 *     name: "cn-north-4_demo",
 * }));
 * ```
 * ### Obtain special project information by name
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const test = pulumi.output(huaweicloud.Iam.getProjects({
 *     name: "MOS", // The project for OBS Billing
 * }));
 * ```
 */
export declare function getProjects(args?: GetProjectsArgs, opts?: pulumi.InvokeOptions): Promise<GetProjectsResult>;
/**
 * A collection of arguments for invoking getProjects.
 */
export interface GetProjectsArgs {
    /**
     * Specifies the IAM project name to query.
     */
    name?: string;
}
/**
 * A collection of values returned by getProjects.
 */
export interface GetProjectsResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The IAM project name.
     */
    readonly name?: string;
    /**
     * The details of the query projects. The structure is documented below.
     */
    readonly projects: outputs.Iam.GetProjectsProject[];
}
export declare function getProjectsOutput(args?: GetProjectsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetProjectsResult>;
/**
 * A collection of arguments for invoking getProjects.
 */
export interface GetProjectsOutputArgs {
    /**
     * Specifies the IAM project name to query.
     */
    name?: pulumi.Input<string>;
}
