import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
 * > **Beta Notice** VLANs are currently available through early access.
 * To use early access resources, the `apiVersion` provider argument must be set to `v4beta`.
 * To learn more, see the early access documentation.
 *
 * Provides details about Linode VLANs.
 * For more information, see the [Linode APIv4 docs](https://techdocs.akamai.com/linode-api/reference/get-vlans).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as linode from "@pulumi/linode";
 *
 * const myInstance = new linode.Instance("my_instance", {
 *     label: "my_instance",
 *     image: "linode/ubuntu22.04",
 *     region: "us-southeast",
 *     type: "g6-standard-1",
 *     rootPass: "bogusPassword$",
 *     interfaces: [{
 *         purpose: "vlan",
 *         label: "my-vlan",
 *     }],
 * });
 * const my_vlans = linode.getVlans({
 *     filters: [{
 *         name: "label",
 *         values: ["my-vlan"],
 *     }],
 * });
 * export const vlanLinodes = my_vlans.then(my_vlans => my_vlans.vlans?.[0]?.linodes);
 * ```
 *
 * ## Filterable Fields
 *
 * * `label`
 *
 * * `region`
 */
export declare function getVlans(args?: GetVlansArgs, opts?: pulumi.InvokeOptions): Promise<GetVlansResult>;
/**
 * A collection of arguments for invoking getVlans.
 */
export interface GetVlansArgs {
    filters?: inputs.GetVlansFilter[];
    /**
     * The order in which results should be returned. (`asc`, `desc`; default `asc`)
     */
    order?: string;
    /**
     * The attribute to order the results by. See the Filterable Fields section for a list of valid fields.
     */
    orderBy?: string;
    vlans?: inputs.GetVlansVlan[];
}
/**
 * A collection of values returned by getVlans.
 */
export interface GetVlansResult {
    readonly filters?: outputs.GetVlansFilter[];
    readonly id: string;
    readonly order?: string;
    readonly orderBy?: string;
    readonly vlans?: outputs.GetVlansVlan[];
}
/**
 * > **Beta Notice** VLANs are currently available through early access.
 * To use early access resources, the `apiVersion` provider argument must be set to `v4beta`.
 * To learn more, see the early access documentation.
 *
 * Provides details about Linode VLANs.
 * For more information, see the [Linode APIv4 docs](https://techdocs.akamai.com/linode-api/reference/get-vlans).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as linode from "@pulumi/linode";
 *
 * const myInstance = new linode.Instance("my_instance", {
 *     label: "my_instance",
 *     image: "linode/ubuntu22.04",
 *     region: "us-southeast",
 *     type: "g6-standard-1",
 *     rootPass: "bogusPassword$",
 *     interfaces: [{
 *         purpose: "vlan",
 *         label: "my-vlan",
 *     }],
 * });
 * const my_vlans = linode.getVlans({
 *     filters: [{
 *         name: "label",
 *         values: ["my-vlan"],
 *     }],
 * });
 * export const vlanLinodes = my_vlans.then(my_vlans => my_vlans.vlans?.[0]?.linodes);
 * ```
 *
 * ## Filterable Fields
 *
 * * `label`
 *
 * * `region`
 */
export declare function getVlansOutput(args?: GetVlansOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetVlansResult>;
/**
 * A collection of arguments for invoking getVlans.
 */
export interface GetVlansOutputArgs {
    filters?: pulumi.Input<pulumi.Input<inputs.GetVlansFilterArgs>[]>;
    /**
     * The order in which results should be returned. (`asc`, `desc`; default `asc`)
     */
    order?: pulumi.Input<string>;
    /**
     * The attribute to order the results by. See the Filterable Fields section for a list of valid fields.
     */
    orderBy?: pulumi.Input<string>;
    vlans?: pulumi.Input<pulumi.Input<inputs.GetVlansVlanArgs>[]>;
}
