import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Get all available machine types (tiers) for a project, for example, db-custom-1-3840. For more information see the
 * [official documentation](https://cloud.google.com/sql/)
 * and
 * [API](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/tiers/list).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const tiers = gcp.sql.getTiers({
 *     project: "sample-project",
 * });
 * const allAvailableTiers = tiers.then(tiers => .map(v => (v.tier)));
 * export const avaialbleTiers = allAvailableTiers;
 * ```
 */
export declare function getTiers(args?: GetTiersArgs, opts?: pulumi.InvokeOptions): Promise<GetTiersResult>;
/**
 * A collection of arguments for invoking getTiers.
 */
export interface GetTiersArgs {
    /**
     * The Project ID for which to list tiers. If `project` is not provided, the project defined within the default provider configuration is used.
     */
    project?: string;
}
/**
 * A collection of values returned by getTiers.
 */
export interface GetTiersResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly project: string;
    /**
     * A list of all available machine types (tiers) for project. Each contains:
     */
    readonly tiers: outputs.sql.GetTiersTier[];
}
/**
 * Get all available machine types (tiers) for a project, for example, db-custom-1-3840. For more information see the
 * [official documentation](https://cloud.google.com/sql/)
 * and
 * [API](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/tiers/list).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const tiers = gcp.sql.getTiers({
 *     project: "sample-project",
 * });
 * const allAvailableTiers = tiers.then(tiers => .map(v => (v.tier)));
 * export const avaialbleTiers = allAvailableTiers;
 * ```
 */
export declare function getTiersOutput(args?: GetTiersOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetTiersResult>;
/**
 * A collection of arguments for invoking getTiers.
 */
export interface GetTiersOutputArgs {
    /**
     * The Project ID for which to list tiers. If `project` is not provided, the project defined within the default provider configuration is used.
     */
    project?: pulumi.Input<string>;
}
