import * as pulumi from "@pulumi/pulumi";
/**
 * Use this data source to get information about a Google Billing Account.
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const acct = gcp.organizations.getBillingAccount({
 *     displayName: "My Billing Account",
 *     open: true,
 * });
 * const myProject = new gcp.organizations.Project("my_project", {
 *     name: "My Project",
 *     projectId: "your-project-id",
 *     orgId: "1234567",
 *     billingAccount: acct.then(acct => acct.id),
 * });
 * ```
 */
export declare function getBillingAccount(args?: GetBillingAccountArgs, opts?: pulumi.InvokeOptions): Promise<GetBillingAccountResult>;
/**
 * A collection of arguments for invoking getBillingAccount.
 */
export interface GetBillingAccountArgs {
    /**
     * The name of the billing account in the form `{billing_account_id}` or `billingAccounts/{billing_account_id}`.
     */
    billingAccount?: string;
    /**
     * The display name of the billing account.
     */
    displayName?: string;
    /**
     * `true` if projects associated with the billing account should be read, `false` if this step
     * should be skipped. Setting `false` may be useful if the user permissions do not allow listing projects. Defaults to `true`.
     *
     * > **NOTE:** One of `billingAccount` or `displayName` must be specified.
     */
    lookupProjects?: boolean;
    /**
     * `true` if the billing account is open, `false` if the billing account is closed.
     */
    open?: boolean;
}
/**
 * A collection of values returned by getBillingAccount.
 */
export interface GetBillingAccountResult {
    readonly billingAccount?: string;
    readonly displayName: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly lookupProjects?: boolean;
    /**
     * The resource name of the billing account in the form `billingAccounts/{billing_account_id}`.
     */
    readonly name: string;
    readonly open: boolean;
    /**
     * The IDs of any projects associated with the billing account. `lookupProjects` must not be false
     * for this to be populated.
     */
    readonly projectIds: string[];
}
/**
 * Use this data source to get information about a Google Billing Account.
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const acct = gcp.organizations.getBillingAccount({
 *     displayName: "My Billing Account",
 *     open: true,
 * });
 * const myProject = new gcp.organizations.Project("my_project", {
 *     name: "My Project",
 *     projectId: "your-project-id",
 *     orgId: "1234567",
 *     billingAccount: acct.then(acct => acct.id),
 * });
 * ```
 */
export declare function getBillingAccountOutput(args?: GetBillingAccountOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetBillingAccountResult>;
/**
 * A collection of arguments for invoking getBillingAccount.
 */
export interface GetBillingAccountOutputArgs {
    /**
     * The name of the billing account in the form `{billing_account_id}` or `billingAccounts/{billing_account_id}`.
     */
    billingAccount?: pulumi.Input<string>;
    /**
     * The display name of the billing account.
     */
    displayName?: pulumi.Input<string>;
    /**
     * `true` if projects associated with the billing account should be read, `false` if this step
     * should be skipped. Setting `false` may be useful if the user permissions do not allow listing projects. Defaults to `true`.
     *
     * > **NOTE:** One of `billingAccount` or `displayName` must be specified.
     */
    lookupProjects?: pulumi.Input<boolean>;
    /**
     * `true` if the billing account is open, `false` if the billing account is closed.
     */
    open?: pulumi.Input<boolean>;
}
