import * as pulumi from "@pulumi/pulumi";
import * as outputs from "./types/output";
/**
 * Provides details about a Hetzner Cloud Zone.
 *
 * For Internationalized domain names (IDN), see the `provider::hcloud::idna` function.
 *
 * See the [Zones API documentation](https://docs.hetzner.cloud/reference/cloud#zones) for more details.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as hcloud from "@pulumi/hcloud";
 *
 * const byId = hcloud.getZone({
 *     id: 1234,
 * });
 * const byName = hcloud.getZone({
 *     name: "example.com",
 * });
 * const byLabel = hcloud.getZone({
 *     withSelector: "key=value",
 * });
 * ```
 */
export declare function getZone(args?: GetZoneArgs, opts?: pulumi.InvokeOptions): Promise<GetZoneResult>;
/**
 * A collection of arguments for invoking getZone.
 */
export interface GetZoneArgs {
    /**
     * ID of the Zone.
     */
    id?: number;
    /**
     * Name of the Zone.
     */
    name?: string;
    /**
     * Filter results using a [Label Selector](https://docs.hetzner.cloud/reference/cloud#label-selector).
     */
    withSelector?: string;
}
/**
 * A collection of values returned by getZone.
 */
export interface GetZoneResult {
    /**
     * Authoritative nameservers of the Zone.
     */
    readonly authoritativeNameservers: outputs.GetZoneAuthoritativeNameservers;
    /**
     * Whether delete protection is enabled.
     */
    readonly deleteProtection: boolean;
    /**
     * ID of the Zone.
     */
    readonly id?: number;
    /**
     * User-defined [labels](https://docs.hetzner.cloud/reference/cloud#labels) (key-value pairs) for the resource.
     */
    readonly labels: {
        [key: string]: string;
    };
    /**
     * Mode of the Zone.
     */
    readonly mode: string;
    /**
     * Name of the Zone.
     */
    readonly name?: string;
    /**
     * Primary nameservers of the Zone.
     */
    readonly primaryNameservers: outputs.GetZonePrimaryNameserver[];
    /**
     * Registrar of the Zone.
     */
    readonly registrar: string;
    /**
     * Default Time To Live (TTL) of the Zone.
     */
    readonly ttl: number;
    /**
     * Filter results using a [Label Selector](https://docs.hetzner.cloud/reference/cloud#label-selector).
     */
    readonly withSelector?: string;
}
/**
 * Provides details about a Hetzner Cloud Zone.
 *
 * For Internationalized domain names (IDN), see the `provider::hcloud::idna` function.
 *
 * See the [Zones API documentation](https://docs.hetzner.cloud/reference/cloud#zones) for more details.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as hcloud from "@pulumi/hcloud";
 *
 * const byId = hcloud.getZone({
 *     id: 1234,
 * });
 * const byName = hcloud.getZone({
 *     name: "example.com",
 * });
 * const byLabel = hcloud.getZone({
 *     withSelector: "key=value",
 * });
 * ```
 */
export declare function getZoneOutput(args?: GetZoneOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetZoneResult>;
/**
 * A collection of arguments for invoking getZone.
 */
export interface GetZoneOutputArgs {
    /**
     * ID of the Zone.
     */
    id?: pulumi.Input<number | undefined>;
    /**
     * Name of the Zone.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * Filter results using a [Label Selector](https://docs.hetzner.cloud/reference/cloud#label-selector).
     */
    withSelector?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getZone.d.ts.map