import * as pulumi from "@pulumi/pulumi";
/**
 * Previews a CIDR from an IPAM address pool. Only works for private IPv4.
 *
 * > **NOTE:** This functionality is also encapsulated in a resource sharing the same name. The data source can be used when you need to use the cidr in a calculation of the same Root module, `count` for example. However, once a cidr range has been allocated that was previewed, the next refresh will find a **new** cidr and may force new resources downstream. Make sure to use `ignoreChanges` if this is undesirable.
 *
 * ## Example Usage
 *
 * Basic usage:
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as aws from "@pulumi/aws";
 *
 * const test = aws.ec2.getIpamPreviewNextCidr({
 *     ipamPoolId: testAwsVpcIpamPool.id,
 *     netmaskLength: 28,
 * });
 * const testVpcIpamPoolCidrAllocation = new aws.ec2.VpcIpamPoolCidrAllocation("test", {
 *     ipamPoolId: testAwsVpcIpamPool.id,
 *     cidr: test.then(test => test.cidr),
 * });
 * ```
 */
export declare function getIpamPreviewNextCidr(args: GetIpamPreviewNextCidrArgs, opts?: pulumi.InvokeOptions): Promise<GetIpamPreviewNextCidrResult>;
/**
 * A collection of arguments for invoking getIpamPreviewNextCidr.
 */
export interface GetIpamPreviewNextCidrArgs {
    /**
     * Exclude a particular CIDR range from being returned by the pool.
     */
    disallowedCidrs?: string[];
    /**
     * ID of the pool to which you want to assign a CIDR.
     */
    ipamPoolId: string;
    /**
     * Netmask length of the CIDR you would like to preview from the IPAM pool.
     */
    netmaskLength?: number;
    /**
     * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
     */
    region?: string;
}
/**
 * A collection of values returned by getIpamPreviewNextCidr.
 */
export interface GetIpamPreviewNextCidrResult {
    /**
     * Previewed CIDR from the pool.
     */
    readonly cidr: string;
    readonly disallowedCidrs?: string[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly ipamPoolId: string;
    readonly netmaskLength?: number;
    readonly region: string;
}
/**
 * Previews a CIDR from an IPAM address pool. Only works for private IPv4.
 *
 * > **NOTE:** This functionality is also encapsulated in a resource sharing the same name. The data source can be used when you need to use the cidr in a calculation of the same Root module, `count` for example. However, once a cidr range has been allocated that was previewed, the next refresh will find a **new** cidr and may force new resources downstream. Make sure to use `ignoreChanges` if this is undesirable.
 *
 * ## Example Usage
 *
 * Basic usage:
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as aws from "@pulumi/aws";
 *
 * const test = aws.ec2.getIpamPreviewNextCidr({
 *     ipamPoolId: testAwsVpcIpamPool.id,
 *     netmaskLength: 28,
 * });
 * const testVpcIpamPoolCidrAllocation = new aws.ec2.VpcIpamPoolCidrAllocation("test", {
 *     ipamPoolId: testAwsVpcIpamPool.id,
 *     cidr: test.then(test => test.cidr),
 * });
 * ```
 */
export declare function getIpamPreviewNextCidrOutput(args: GetIpamPreviewNextCidrOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetIpamPreviewNextCidrResult>;
/**
 * A collection of arguments for invoking getIpamPreviewNextCidr.
 */
export interface GetIpamPreviewNextCidrOutputArgs {
    /**
     * Exclude a particular CIDR range from being returned by the pool.
     */
    disallowedCidrs?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * ID of the pool to which you want to assign a CIDR.
     */
    ipamPoolId: pulumi.Input<string>;
    /**
     * Netmask length of the CIDR you would like to preview from the IPAM pool.
     */
    netmaskLength?: pulumi.Input<number>;
    /**
     * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
     */
    region?: pulumi.Input<string>;
}
