import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to query the IAM agency list within HuaweiCloud.
 *
 * > **NOTE:** You *must* have IAM read privileges to use this data source.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const all = pulumi.output(huaweicloud.Iam.getAgencies());
 * ```
 */
export declare function getAgencies(args?: GetAgenciesArgs, opts?: pulumi.InvokeOptions): Promise<GetAgenciesResult>;
/**
 * A collection of arguments for invoking getAgencies.
 */
export interface GetAgenciesArgs {
    /**
     * Specifies the name of agency. The name is a string of 1 to 64 characters.
     */
    name?: string;
    /**
     * Specifies the ID of delegated user domain.
     */
    trustDomainId?: string;
}
/**
 * A collection of values returned by getAgencies.
 */
export interface GetAgenciesResult {
    /**
     * The details of the queried IAM agencies. The structure is documented below.
     */
    readonly agencies: outputs.Iam.GetAgenciesAgency[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The agency name.
     */
    readonly name?: string;
    /**
     * The ID of delegated user domain.
     */
    readonly trustDomainId?: string;
}
export declare function getAgenciesOutput(args?: GetAgenciesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetAgenciesResult>;
/**
 * A collection of arguments for invoking getAgencies.
 */
export interface GetAgenciesOutputArgs {
    /**
     * Specifies the name of agency. The name is a string of 1 to 64 characters.
     */
    name?: pulumi.Input<string>;
    /**
     * Specifies the ID of delegated user domain.
     */
    trustDomainId?: pulumi.Input<string>;
}
