import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Use this data source to query detailed information of subnets
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 *
 * const default = volcengine.vpc.getSubnets({
 *     ids: ["subnet-274zsa5kfmj287fap8soo5e19"],
 * });
 * ```
 */
export declare function getSubnets(args?: GetSubnetsArgs, opts?: pulumi.InvokeOptions): Promise<GetSubnetsResult>;
/**
 * A collection of arguments for invoking getSubnets.
 */
export interface GetSubnetsArgs {
    /**
     * A list of Subnet IDs.
     */
    ids?: string[];
    /**
     * A Name Regex of Subnet.
     */
    nameRegex?: string;
    /**
     * File name where to save data source results.
     */
    outputFile?: string;
    /**
     * The ID of route table which subnet associated with.
     */
    routeTableId?: string;
    /**
     * The subnet name to query.
     */
    subnetName?: string;
    /**
     * Tags.
     */
    tags?: inputs.vpc.GetSubnetsTag[];
    /**
     * The ID of VPC which subnet belongs to.
     */
    vpcId?: string;
    /**
     * The ID of zone which subnet belongs to.
     */
    zoneId?: string;
}
/**
 * A collection of values returned by getSubnets.
 */
export interface GetSubnetsResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly ids?: string[];
    readonly nameRegex?: string;
    readonly outputFile?: string;
    /**
     * The route table ID.
     */
    readonly routeTableId?: string;
    /**
     * The Name of Subnet.
     */
    readonly subnetName?: string;
    /**
     * The collection of Subnet query.
     */
    readonly subnets: outputs.vpc.GetSubnetsSubnet[];
    /**
     * Tags.
     */
    readonly tags?: outputs.vpc.GetSubnetsTag[];
    /**
     * The total count of Subnet query.
     */
    readonly totalCount: number;
    /**
     * The Vpc ID of Subnet.
     */
    readonly vpcId?: string;
    /**
     * The ID of Zone.
     */
    readonly zoneId?: string;
}
/**
 * Use this data source to query detailed information of subnets
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 *
 * const default = volcengine.vpc.getSubnets({
 *     ids: ["subnet-274zsa5kfmj287fap8soo5e19"],
 * });
 * ```
 */
export declare function getSubnetsOutput(args?: GetSubnetsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetSubnetsResult>;
/**
 * A collection of arguments for invoking getSubnets.
 */
export interface GetSubnetsOutputArgs {
    /**
     * A list of Subnet IDs.
     */
    ids?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * A Name Regex of Subnet.
     */
    nameRegex?: pulumi.Input<string>;
    /**
     * File name where to save data source results.
     */
    outputFile?: pulumi.Input<string>;
    /**
     * The ID of route table which subnet associated with.
     */
    routeTableId?: pulumi.Input<string>;
    /**
     * The subnet name to query.
     */
    subnetName?: pulumi.Input<string>;
    /**
     * Tags.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.vpc.GetSubnetsTagArgs>[]>;
    /**
     * The ID of VPC which subnet belongs to.
     */
    vpcId?: pulumi.Input<string>;
    /**
     * The ID of zone which subnet belongs to.
     */
    zoneId?: pulumi.Input<string>;
}
