import * as pulumi from "@pulumi/pulumi";
/**
 * Creates and manages Scaleway VPC Public Gateway DHCP.
 * For more information, see [the documentation](https://developers.scaleway.com/en/products/vpc-gw/api/v1/#dhcp-c05544).
 *
 * ## Example
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@lbrlabs/pulumi-scaleway";
 *
 * const main = new scaleway.VpcPublicGatewayDhcp("main", {subnet: "192.168.1.0/24"});
 * ```
 *
 * ## Import
 *
 * Public gateway DHCP config can be imported using the `{zone}/{id}`, e.g. bash
 *
 * ```sh
 *  $ pulumi import scaleway:index/vpcPublicGatewayDhcp:VpcPublicGatewayDhcp main fr-par-1/11111111-1111-1111-1111-111111111111
 * ```
 */
export declare class VpcPublicGatewayDhcp extends pulumi.CustomResource {
    /**
     * Get an existing VpcPublicGatewayDhcp resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcPublicGatewayDhcpState, opts?: pulumi.CustomResourceOptions): VpcPublicGatewayDhcp;
    /**
     * Returns true if the given object is an instance of VpcPublicGatewayDhcp.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is VpcPublicGatewayDhcp;
    /**
     * The IP address of the public gateway DHCP config.
     */
    readonly address: pulumi.Output<string>;
    /**
     * The date and time of the creation of the public gateway DHCP config.
     */
    readonly createdAt: pulumi.Output<string>;
    /**
     * TLD given to hostnames in the Private Network. Allowed characters are `a-z0-9-.`. Defaults to the slugified Private Network name if created along a GatewayNetwork, or else to `priv`.
     */
    readonly dnsLocalName: pulumi.Output<string>;
    /**
     * Additional DNS search paths
     */
    readonly dnsSearches: pulumi.Output<string[]>;
    /**
     * Override the DNS server list pushed to DHCP clients, instead of the gateway itself
     */
    readonly dnsServersOverrides: pulumi.Output<string[]>;
    /**
     * Whether to enable dynamic pooling of IPs. By turning the dynamic pool off, only pre-existing DHCP reservations will be handed out. Defaults to `true`.
     */
    readonly enableDynamic: pulumi.Output<boolean>;
    /**
     * The organization ID the public gateway DHCP config is associated with.
     */
    readonly organizationId: pulumi.Output<string>;
    /**
     * High IP (excluded) of the dynamic address pool. Defaults to the last address of the subnet.
     */
    readonly poolHigh: pulumi.Output<string>;
    /**
     * Low IP (included) of the dynamic address pool. Defaults to the second address of the subnet.
     */
    readonly poolLow: pulumi.Output<string>;
    /**
     * `projectId`) The ID of the project the public gateway DHCP config is associated with.
     */
    readonly projectId: pulumi.Output<string>;
    /**
     * Whether the gateway should push a default route to DHCP clients or only hand out IPs. Defaults to `true`.
     */
    readonly pushDefaultRoute: pulumi.Output<boolean>;
    /**
     * Whether the gateway should push custom DNS servers to clients. This allows for instance hostname > IP resolution. Defaults to `true`.
     */
    readonly pushDnsServer: pulumi.Output<boolean>;
    /**
     * After how long, in seconds, a DHCP client will query for a new lease if previous renews fail. Must be 30s lower than `validLifetime`. Defaults to 51m (3060s).
     */
    readonly rebindTimer: pulumi.Output<number>;
    /**
     * After how long, in seconds, a renewal will be attempted. Must be 30s lower than `rebindTimer`. Defaults to 50m (3000s).
     */
    readonly renewTimer: pulumi.Output<number>;
    /**
     * The subnet to associate with the public gateway DHCP config.
     */
    readonly subnet: pulumi.Output<string>;
    /**
     * The date and time of the last update of the public gateway DHCP config.
     */
    readonly updatedAt: pulumi.Output<string>;
    /**
     * For how long, in seconds, will DHCP entries will be valid. Defaults to 1h (3600s).
     */
    readonly validLifetime: pulumi.Output<number>;
    /**
     * `zone`) The zone in which the public gateway DHCP config should be created.
     */
    readonly zone: pulumi.Output<string>;
    /**
     * Create a VpcPublicGatewayDhcp resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: VpcPublicGatewayDhcpArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering VpcPublicGatewayDhcp resources.
 */
export interface VpcPublicGatewayDhcpState {
    /**
     * The IP address of the public gateway DHCP config.
     */
    address?: pulumi.Input<string>;
    /**
     * The date and time of the creation of the public gateway DHCP config.
     */
    createdAt?: pulumi.Input<string>;
    /**
     * TLD given to hostnames in the Private Network. Allowed characters are `a-z0-9-.`. Defaults to the slugified Private Network name if created along a GatewayNetwork, or else to `priv`.
     */
    dnsLocalName?: pulumi.Input<string>;
    /**
     * Additional DNS search paths
     */
    dnsSearches?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Override the DNS server list pushed to DHCP clients, instead of the gateway itself
     */
    dnsServersOverrides?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Whether to enable dynamic pooling of IPs. By turning the dynamic pool off, only pre-existing DHCP reservations will be handed out. Defaults to `true`.
     */
    enableDynamic?: pulumi.Input<boolean>;
    /**
     * The organization ID the public gateway DHCP config is associated with.
     */
    organizationId?: pulumi.Input<string>;
    /**
     * High IP (excluded) of the dynamic address pool. Defaults to the last address of the subnet.
     */
    poolHigh?: pulumi.Input<string>;
    /**
     * Low IP (included) of the dynamic address pool. Defaults to the second address of the subnet.
     */
    poolLow?: pulumi.Input<string>;
    /**
     * `projectId`) The ID of the project the public gateway DHCP config is associated with.
     */
    projectId?: pulumi.Input<string>;
    /**
     * Whether the gateway should push a default route to DHCP clients or only hand out IPs. Defaults to `true`.
     */
    pushDefaultRoute?: pulumi.Input<boolean>;
    /**
     * Whether the gateway should push custom DNS servers to clients. This allows for instance hostname > IP resolution. Defaults to `true`.
     */
    pushDnsServer?: pulumi.Input<boolean>;
    /**
     * After how long, in seconds, a DHCP client will query for a new lease if previous renews fail. Must be 30s lower than `validLifetime`. Defaults to 51m (3060s).
     */
    rebindTimer?: pulumi.Input<number>;
    /**
     * After how long, in seconds, a renewal will be attempted. Must be 30s lower than `rebindTimer`. Defaults to 50m (3000s).
     */
    renewTimer?: pulumi.Input<number>;
    /**
     * The subnet to associate with the public gateway DHCP config.
     */
    subnet?: pulumi.Input<string>;
    /**
     * The date and time of the last update of the public gateway DHCP config.
     */
    updatedAt?: pulumi.Input<string>;
    /**
     * For how long, in seconds, will DHCP entries will be valid. Defaults to 1h (3600s).
     */
    validLifetime?: pulumi.Input<number>;
    /**
     * `zone`) The zone in which the public gateway DHCP config should be created.
     */
    zone?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a VpcPublicGatewayDhcp resource.
 */
export interface VpcPublicGatewayDhcpArgs {
    /**
     * The IP address of the public gateway DHCP config.
     */
    address?: pulumi.Input<string>;
    /**
     * TLD given to hostnames in the Private Network. Allowed characters are `a-z0-9-.`. Defaults to the slugified Private Network name if created along a GatewayNetwork, or else to `priv`.
     */
    dnsLocalName?: pulumi.Input<string>;
    /**
     * Additional DNS search paths
     */
    dnsSearches?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Override the DNS server list pushed to DHCP clients, instead of the gateway itself
     */
    dnsServersOverrides?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Whether to enable dynamic pooling of IPs. By turning the dynamic pool off, only pre-existing DHCP reservations will be handed out. Defaults to `true`.
     */
    enableDynamic?: pulumi.Input<boolean>;
    /**
     * High IP (excluded) of the dynamic address pool. Defaults to the last address of the subnet.
     */
    poolHigh?: pulumi.Input<string>;
    /**
     * Low IP (included) of the dynamic address pool. Defaults to the second address of the subnet.
     */
    poolLow?: pulumi.Input<string>;
    /**
     * `projectId`) The ID of the project the public gateway DHCP config is associated with.
     */
    projectId?: pulumi.Input<string>;
    /**
     * Whether the gateway should push a default route to DHCP clients or only hand out IPs. Defaults to `true`.
     */
    pushDefaultRoute?: pulumi.Input<boolean>;
    /**
     * Whether the gateway should push custom DNS servers to clients. This allows for instance hostname > IP resolution. Defaults to `true`.
     */
    pushDnsServer?: pulumi.Input<boolean>;
    /**
     * After how long, in seconds, a DHCP client will query for a new lease if previous renews fail. Must be 30s lower than `validLifetime`. Defaults to 51m (3060s).
     */
    rebindTimer?: pulumi.Input<number>;
    /**
     * After how long, in seconds, a renewal will be attempted. Must be 30s lower than `rebindTimer`. Defaults to 50m (3000s).
     */
    renewTimer?: pulumi.Input<number>;
    /**
     * The subnet to associate with the public gateway DHCP config.
     */
    subnet: pulumi.Input<string>;
    /**
     * For how long, in seconds, will DHCP entries will be valid. Defaults to 1h (3600s).
     */
    validLifetime?: pulumi.Input<number>;
    /**
     * `zone`) The zone in which the public gateway DHCP config should be created.
     */
    zone?: pulumi.Input<string>;
}
