import * as pulumi from "@pulumi/pulumi";
/**
 * Retrieves the current IAM policy data for a service account.
 *
 * ## example
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const foo = gcp.serviceaccount.getIamPolicy({
 *     serviceAccountId: testAccount.name,
 * });
 * ```
 */
export declare function getIamPolicy(args: GetIamPolicyArgs, opts?: pulumi.InvokeOptions): Promise<GetIamPolicyResult>;
/**
 * A collection of arguments for invoking getIamPolicy.
 */
export interface GetIamPolicyArgs {
    /**
     * The fully-qualified name of the service account to apply policy to.
     */
    serviceAccountId: string;
}
/**
 * A collection of values returned by getIamPolicy.
 */
export interface GetIamPolicyResult {
    /**
     * (Computed) The etag of the IAM policy.
     */
    readonly etag: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * (Computed) The policy data
     */
    readonly policyData: string;
    readonly serviceAccountId: string;
}
/**
 * Retrieves the current IAM policy data for a service account.
 *
 * ## example
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const foo = gcp.serviceaccount.getIamPolicy({
 *     serviceAccountId: testAccount.name,
 * });
 * ```
 */
export declare function getIamPolicyOutput(args: GetIamPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetIamPolicyResult>;
/**
 * A collection of arguments for invoking getIamPolicy.
 */
export interface GetIamPolicyOutputArgs {
    /**
     * The fully-qualified name of the service account to apply policy to.
     */
    serviceAccountId: pulumi.Input<string>;
}
