import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Retrieves information about all SDN Zones in Proxmox. This data source can optionally filter zones by type.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
 *
 * // List all SDN zones
 * const all = proxmoxve.sdn.getZones({});
 * // List only EVPN zones
 * const evpnOnly = proxmoxve.sdn.getZones({
 *     type: "evpn",
 * });
 * // List only Simple zones
 * const simpleOnly = proxmoxve.sdn.getZones({
 *     type: "simple",
 * });
 * export const dataProxmoxSdnZonesAll = {
 *     zones: all.then(all => all.zones),
 * };
 * export const dataProxmoxSdnZonesFiltered = {
 *     evpnZones: evpnOnly.then(evpnOnly => evpnOnly.zones),
 *     simpleZones: simpleOnly.then(simpleOnly => simpleOnly.zones),
 * };
 * ```
 */
export declare function getZones(args?: GetZonesArgs, opts?: pulumi.InvokeOptions): Promise<GetZonesResult>;
/**
 * A collection of arguments for invoking getZones.
 */
export interface GetZonesArgs {
    /**
     * Filter zones by type (simple, vlan, qinq, vxlan, evpn).
     */
    type?: string;
}
/**
 * A collection of values returned by getZones.
 */
export interface GetZonesResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Filter zones by type (simple, vlan, qinq, vxlan, evpn).
     */
    readonly type?: string;
    /**
     * List of SDN zones.
     */
    readonly zones: outputs.sdn.GetZonesZone[];
}
/**
 * Retrieves information about all SDN Zones in Proxmox. This data source can optionally filter zones by type.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
 *
 * // List all SDN zones
 * const all = proxmoxve.sdn.getZones({});
 * // List only EVPN zones
 * const evpnOnly = proxmoxve.sdn.getZones({
 *     type: "evpn",
 * });
 * // List only Simple zones
 * const simpleOnly = proxmoxve.sdn.getZones({
 *     type: "simple",
 * });
 * export const dataProxmoxSdnZonesAll = {
 *     zones: all.then(all => all.zones),
 * };
 * export const dataProxmoxSdnZonesFiltered = {
 *     evpnZones: evpnOnly.then(evpnOnly => evpnOnly.zones),
 *     simpleZones: simpleOnly.then(simpleOnly => simpleOnly.zones),
 * };
 * ```
 */
export declare function getZonesOutput(args?: GetZonesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetZonesResult>;
/**
 * A collection of arguments for invoking getZones.
 */
export interface GetZonesOutputArgs {
    /**
     * Filter zones by type (simple, vlan, qinq, vxlan, evpn).
     */
    type?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getZones.d.ts.map