import * as pulumi from "@pulumi/pulumi";
/**
 * Provides a DigitalOcean BYOIP (Bring Your Own IP) prefix resource. This can be used to
 * create, modify, and delete BYOIP prefixes.
 *
 * BYOIP prefixes allow you to bring your own IP address space to DigitalOcean. You can
 * use this feature to maintain your IP reputation or meet specific compliance requirements.
 *
 * BYOIP prefix provisioning documentation: https://docs.digitalocean.com/products/networking/reserved-ips/how-to/provision-byoip/
 *
 * Note: By default, newly provisioned BYOIP prefixes are not advertised to the internet. After the initial `pulumi up`, BYOIP provisioning request is initiated and DigitalOcean provisions the prefix, the prefix status changes to Active. At this point, you can initiate advertising prefix to the internet by setting field `advertised = true` and apply the configuration to make your prefix fully usable and accessible from the internet.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as digitalocean from "@pulumi/digitalocean";
 *
 * // Create a new BYOIP prefix
 * const example = new digitalocean.ByoipPrefix("example", {
 *     prefix: "192.0.2.0/24",
 *     signature: prefixSignature,
 *     region: "nyc3",
 *     advertised: false,
 * });
 * ```
 *
 * ## Import
 *
 * BYOIP prefixes can be imported using the prefix `uuid`, e.g.
 *
 * ```sh
 * $ pulumi import digitalocean:index/byoipPrefix:ByoipPrefix example 506f78a4-e098-11e5-ad9f-000f53306ae1
 * ```
 */
export declare class ByoipPrefix extends pulumi.CustomResource {
    /**
     * Get an existing ByoipPrefix 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?: ByoipPrefixState, opts?: pulumi.CustomResourceOptions): ByoipPrefix;
    /**
     * Returns true if the given object is an instance of ByoipPrefix.  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 ByoipPrefix;
    /**
     * A boolean indicating whether the prefix should be advertised.
     * Defaults to `false`.
     */
    readonly advertised: pulumi.Output<boolean | undefined>;
    /**
     * The reason for failure if the status is "failed".
     */
    readonly failureReason: pulumi.Output<string>;
    /**
     * The CIDR notation of the prefix (e.g., "192.0.2.0/24").
     */
    readonly prefix: pulumi.Output<string>;
    /**
     * The DigitalOcean region where the prefix will be deployed.
     */
    readonly region: pulumi.Output<string>;
    /**
     * The cryptographic signature proving ownership of the prefix.
     * This is required during creation but can be omitted in subsequent updates.
     */
    readonly signature: pulumi.Output<string | undefined>;
    /**
     * The current status of the BYOIP prefix (e.g., "verified", "pending", "failed").
     */
    readonly status: pulumi.Output<string>;
    /**
     * The UUID of the BYOIP prefix.
     */
    readonly uuid: pulumi.Output<string>;
    /**
     * Create a ByoipPrefix 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: ByoipPrefixArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering ByoipPrefix resources.
 */
export interface ByoipPrefixState {
    /**
     * A boolean indicating whether the prefix should be advertised.
     * Defaults to `false`.
     */
    advertised?: pulumi.Input<boolean | undefined>;
    /**
     * The reason for failure if the status is "failed".
     */
    failureReason?: pulumi.Input<string | undefined>;
    /**
     * The CIDR notation of the prefix (e.g., "192.0.2.0/24").
     */
    prefix?: pulumi.Input<string | undefined>;
    /**
     * The DigitalOcean region where the prefix will be deployed.
     */
    region?: pulumi.Input<string | undefined>;
    /**
     * The cryptographic signature proving ownership of the prefix.
     * This is required during creation but can be omitted in subsequent updates.
     */
    signature?: pulumi.Input<string | undefined>;
    /**
     * The current status of the BYOIP prefix (e.g., "verified", "pending", "failed").
     */
    status?: pulumi.Input<string | undefined>;
    /**
     * The UUID of the BYOIP prefix.
     */
    uuid?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a ByoipPrefix resource.
 */
export interface ByoipPrefixArgs {
    /**
     * A boolean indicating whether the prefix should be advertised.
     * Defaults to `false`.
     */
    advertised?: pulumi.Input<boolean | undefined>;
    /**
     * The CIDR notation of the prefix (e.g., "192.0.2.0/24").
     */
    prefix: pulumi.Input<string>;
    /**
     * The DigitalOcean region where the prefix will be deployed.
     */
    region: pulumi.Input<string>;
    /**
     * The cryptographic signature proving ownership of the prefix.
     * This is required during creation but can be omitted in subsequent updates.
     */
    signature?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=byoipPrefix.d.ts.map