import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
 * Gets information about IP managed by IPAM service. IPAM service is used for dhcp bundled in VPCs' private networks.
 *
 * ## Examples
 *
 * ### Instance Private Network IP
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@lbrlabs/pulumi-scaleway";
 * import * as scaleway from "@pulumi/scaleway";
 *
 * // Get Instance IP in a private network
 * const nic = new scaleway.InstancePrivateNic("nic", {
 *     serverId: scaleway_instance_server.server.id,
 *     privateNetworkId: scaleway_vpc_private_network.pn.id,
 * });
 * const byMac = scaleway.getIpamIpOutput({
 *     macAddress: nic.macAddress,
 *     type: "ipv4",
 * });
 * const byId = scaleway.getIpamIpOutput({
 *     resource: {
 *         id: nic.id,
 *         type: "instance_private_nic",
 *     },
 *     type: "ipv4",
 * });
 * ```
 */
export declare function getIpamIp(args: GetIpamIpArgs, opts?: pulumi.InvokeOptions): Promise<GetIpamIpResult>;
/**
 * A collection of arguments for invoking getIpamIp.
 */
export interface GetIpamIpArgs {
    /**
     * The Mac Address linked to the IP.
     */
    macAddress?: string;
    /**
     * The ID of the private network the IP belong to.
     */
    privateNetworkId?: string;
    /**
     * `region`) The region in which the IP exists.
     */
    region?: string;
    /**
     * Filter by resource ID and type, both attributes must be set
     */
    resource?: inputs.GetIpamIpResource;
    /**
     * The type of the resource to get the IP from. [Documentation](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/ipam/v1alpha1#pkg-constants) with type list.
     */
    type: string;
}
/**
 * A collection of values returned by getIpamIp.
 */
export interface GetIpamIpResult {
    /**
     * The IP address
     */
    readonly address: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly macAddress?: string;
    readonly privateNetworkId?: string;
    readonly region: string;
    readonly resource?: outputs.GetIpamIpResource;
    readonly type: string;
}
/**
 * Gets information about IP managed by IPAM service. IPAM service is used for dhcp bundled in VPCs' private networks.
 *
 * ## Examples
 *
 * ### Instance Private Network IP
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@lbrlabs/pulumi-scaleway";
 * import * as scaleway from "@pulumi/scaleway";
 *
 * // Get Instance IP in a private network
 * const nic = new scaleway.InstancePrivateNic("nic", {
 *     serverId: scaleway_instance_server.server.id,
 *     privateNetworkId: scaleway_vpc_private_network.pn.id,
 * });
 * const byMac = scaleway.getIpamIpOutput({
 *     macAddress: nic.macAddress,
 *     type: "ipv4",
 * });
 * const byId = scaleway.getIpamIpOutput({
 *     resource: {
 *         id: nic.id,
 *         type: "instance_private_nic",
 *     },
 *     type: "ipv4",
 * });
 * ```
 */
export declare function getIpamIpOutput(args: GetIpamIpOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetIpamIpResult>;
/**
 * A collection of arguments for invoking getIpamIp.
 */
export interface GetIpamIpOutputArgs {
    /**
     * The Mac Address linked to the IP.
     */
    macAddress?: pulumi.Input<string>;
    /**
     * The ID of the private network the IP belong to.
     */
    privateNetworkId?: pulumi.Input<string>;
    /**
     * `region`) The region in which the IP exists.
     */
    region?: pulumi.Input<string>;
    /**
     * Filter by resource ID and type, both attributes must be set
     */
    resource?: pulumi.Input<inputs.GetIpamIpResourceArgs>;
    /**
     * The type of the resource to get the IP from. [Documentation](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/ipam/v1alpha1#pkg-constants) with type list.
     */
    type: pulumi.Input<string>;
}
