import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Provides an Equinix Metal metro datasource.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as equinix from "@equinix-labs/pulumi-equinix";
 *
 * const sv = equinix.metal.getMetro({
 *     code: "sv",
 * });
 * export const id = sv.then(sv => sv.id);
 * ```
 */
export declare function getMetro(args: GetMetroArgs, opts?: pulumi.InvokeOptions): Promise<GetMetroResult>;
/**
 * A collection of arguments for invoking getMetro.
 */
export interface GetMetroArgs {
    /**
     * One or more device plans for which the metro must have capacity.
     */
    capacities?: inputs.metal.GetMetroCapacity[];
    /**
     * The metro code to search for.
     */
    code: string;
}
/**
 * A collection of values returned by getMetro.
 */
export interface GetMetroResult {
    readonly capacities?: outputs.metal.GetMetroCapacity[];
    readonly code: string;
    /**
     * The country of the metro.
     */
    readonly country: string;
    /**
     * The ID of the metro.
     */
    readonly id: string;
    /**
     * The name of the metro.
     */
    readonly name: string;
}
/**
 * Provides an Equinix Metal metro datasource.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as equinix from "@equinix-labs/pulumi-equinix";
 *
 * const sv = equinix.metal.getMetro({
 *     code: "sv",
 * });
 * export const id = sv.then(sv => sv.id);
 * ```
 */
export declare function getMetroOutput(args: GetMetroOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetMetroResult>;
/**
 * A collection of arguments for invoking getMetro.
 */
export interface GetMetroOutputArgs {
    /**
     * One or more device plans for which the metro must have capacity.
     */
    capacities?: pulumi.Input<pulumi.Input<inputs.metal.GetMetroCapacityArgs>[]>;
    /**
     * The metro code to search for.
     */
    code: pulumi.Input<string>;
}
