import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
export declare function getPlans(args?: GetPlansArgs, opts?: pulumi.InvokeOptions): Promise<GetPlansResult>;
/**
 * A collection of arguments for invoking getPlans.
 */
export interface GetPlansArgs {
    /**
     * One or more attribute/values pairs to filter off of
     */
    filters?: inputs.metal.GetPlansFilter[];
    /**
     * One or more attribute/direction pairs on which to sort results. If multiple sorts are provided, they will be applied in order
     */
    sorts?: inputs.metal.GetPlansSort[];
}
/**
 * A collection of values returned by getPlans.
 */
export interface GetPlansResult {
    readonly filters?: outputs.metal.GetPlansFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly plans: outputs.metal.GetPlansPlan[];
    readonly sorts?: outputs.metal.GetPlansSort[];
}
export declare function getPlansOutput(args?: GetPlansOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetPlansResult>;
/**
 * A collection of arguments for invoking getPlans.
 */
export interface GetPlansOutputArgs {
    /**
     * One or more attribute/values pairs to filter off of
     */
    filters?: pulumi.Input<pulumi.Input<inputs.metal.GetPlansFilterArgs>[]>;
    /**
     * One or more attribute/direction pairs on which to sort results. If multiple sorts are provided, they will be applied in order
     */
    sorts?: pulumi.Input<pulumi.Input<inputs.metal.GetPlansSortArgs>[]>;
}
