import * as $dara from '@darabonba/typescript';
export declare class CreateNetworkInterfaceResponseBodyIpv4PrefixSetsIpv4PrefixSet extends $dara.Model {
    /**
     * @remarks
     * The IPv4 prefix assigned to the ENI.
     *
     * @example
     * hide
     */
    ipv4Prefix?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateNetworkInterfaceResponseBodyIpv4PrefixSets extends $dara.Model {
    ipv4PrefixSet?: CreateNetworkInterfaceResponseBodyIpv4PrefixSetsIpv4PrefixSet[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateNetworkInterfaceResponseBodyIpv6PrefixSetsIpv6PrefixSet extends $dara.Model {
    /**
     * @remarks
     * The IPv6 prefix assigned to the ENI.
     *
     * @example
     * hide
     */
    ipv6Prefix?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateNetworkInterfaceResponseBodyIpv6PrefixSets extends $dara.Model {
    ipv6PrefixSet?: CreateNetworkInterfaceResponseBodyIpv6PrefixSetsIpv6PrefixSet[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateNetworkInterfaceResponseBodyIpv6SetsIpv6Set extends $dara.Model {
    /**
     * @remarks
     * The IPv6 address assigned to the ENI.
     *
     * @example
     * 2001:db8:1234:1a00::****
     */
    ipv6Address?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateNetworkInterfaceResponseBodyIpv6Sets extends $dara.Model {
    ipv6Set?: CreateNetworkInterfaceResponseBodyIpv6SetsIpv6Set[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateNetworkInterfaceResponseBodyPrivateIpSetsPrivateIpSet extends $dara.Model {
    /**
     * @remarks
     * Indicates whether the private IP address is the primary private IP address.
     *
     * @example
     * true
     */
    primary?: boolean;
    /**
     * @remarks
     * The private IP address of the instance.
     *
     * @example
     * ``172.17.**.**``
     */
    privateIpAddress?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateNetworkInterfaceResponseBodyPrivateIpSets extends $dara.Model {
    privateIpSet?: CreateNetworkInterfaceResponseBodyPrivateIpSetsPrivateIpSet[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateNetworkInterfaceResponseBodySecurityGroupIds extends $dara.Model {
    securityGroupId?: string[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateNetworkInterfaceResponseBodyTagsTag extends $dara.Model {
    /**
     * @remarks
     * The tag key.
     *
     * @example
     * TestKey
     */
    tagKey?: string;
    /**
     * @remarks
     * The tag value.
     *
     * @example
     * TestValue
     */
    tagValue?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateNetworkInterfaceResponseBodyTags extends $dara.Model {
    tag?: CreateNetworkInterfaceResponseBodyTagsTag[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateNetworkInterfaceResponseBody extends $dara.Model {
    /**
     * @remarks
     * The description of the ENI.
     *
     * @example
     * testDescription
     */
    description?: string;
    /**
     * @remarks
     * The IPv4 prefixes assigned to the ENI.
     */
    ipv4PrefixSets?: CreateNetworkInterfaceResponseBodyIpv4PrefixSets;
    /**
     * @remarks
     * The IPv6 prefixes assigned to the ENI.
     */
    ipv6PrefixSets?: CreateNetworkInterfaceResponseBodyIpv6PrefixSets;
    /**
     * @remarks
     * The IPv6 addresses assigned to the ENI.
     */
    ipv6Sets?: CreateNetworkInterfaceResponseBodyIpv6Sets;
    /**
     * @remarks
     * The media access control (MAC) address of the ENI.
     *
     * @example
     * 00:16:3e:12:**:**
     */
    macAddress?: string;
    /**
     * @remarks
     * The ID of the ENI.
     *
     * @example
     * eni-bp14v2sdd3v8htln****
     */
    networkInterfaceId?: string;
    /**
     * @remarks
     * The name of the ENI.
     *
     * @example
     * my-eni-name
     */
    networkInterfaceName?: string;
    /**
     * @remarks
     * The ID of the account to which the ENI belongs.
     *
     * @example
     * 123456****
     */
    ownerId?: string;
    /**
     * @remarks
     * The private IP address of the ENI.
     *
     * @example
     * ``172.17.**.**``
     */
    privateIpAddress?: string;
    /**
     * @remarks
     * The private IP addresses.
     */
    privateIpSets?: CreateNetworkInterfaceResponseBodyPrivateIpSets;
    /**
     * @remarks
     * The request ID.
     *
     * @example
     * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E
     */
    requestId?: string;
    /**
     * @remarks
     * The ID of the resource group to which the ENI belongs.
     *
     * @example
     * rg-2ze88m67qx5z****
     */
    resourceGroupId?: string;
    /**
     * @remarks
     * The IDs of the security groups to which the ENI belongs.
     */
    securityGroupIds?: CreateNetworkInterfaceResponseBodySecurityGroupIds;
    /**
     * @remarks
     * The ID of the distributor to which the ENI belongs.
     *
     * @example
     * 12345678910
     */
    serviceID?: number;
    /**
     * @remarks
     * Indicates whether the user of the ENI is an Alibaba Cloud service or a distributor.
     *
     * @example
     * true
     */
    serviceManaged?: boolean;
    /**
     * @remarks
     * >  This parameter is in invitational preview and is not publicly available.
     *
     * @example
     * false
     */
    sourceDestCheck?: boolean;
    /**
     * @remarks
     * The state of the ENI.
     *
     * @example
     * Available
     */
    status?: string;
    /**
     * @remarks
     * The tags of the ENI.
     */
    tags?: CreateNetworkInterfaceResponseBodyTags;
    /**
     * @remarks
     * The type of the ENI.
     *
     * @example
     * Secondary
     */
    type?: string;
    /**
     * @remarks
     * The ID of the vSwitch to which the ENI is connected.
     *
     * @example
     * vsw-bp16usj2p27htro3****
     */
    vSwitchId?: string;
    /**
     * @remarks
     * The ID of the VPC to which the ENI belongs.
     *
     * @example
     * vpc-bp1j7w3gc1cexjqd****
     */
    vpcId?: string;
    /**
     * @remarks
     * The zone ID of the ENI.
     *
     * @example
     * cn-hangzhou-e
     */
    zoneId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
