import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to get the list of CFW blacklists and whitelists.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const config = new pulumi.Config();
 * const objectId = config.requireObject("objectId");
 * const listType = config.requireObject("listType");
 * const test = huaweicloud.Cfw.getBlackWhiteLists({
 *     objectId: objectId,
 *     listType: listType,
 * });
 * ```
 */
export declare function getBlackWhiteLists(args: GetBlackWhiteListsArgs, opts?: pulumi.InvokeOptions): Promise<GetBlackWhiteListsResult>;
/**
 * A collection of arguments for invoking getBlackWhiteLists.
 */
export interface GetBlackWhiteListsArgs {
    /**
     * Specifies the IP address.
     */
    address?: string;
    /**
     * Specifies the IP address type.
     * The valid value can be **0** (IPv4).
     */
    addressType?: string;
    /**
     * Specifies the description.
     */
    description?: string;
    /**
     * Specifies the direction of a black or white address.
     * The options are as follows:
     * + **0**: source address;
     * + **1**: destination address;
     */
    direction?: string;
    /**
     * Specifies the firewall instance ID.
     */
    fwInstanceId?: string;
    /**
     * Specifies the blacklist/whitelist ID.
     */
    listId?: string;
    /**
     * Specifies the blacklist/whitelist type.
     * The options are `4` (blacklist) and `5` (whitelist).
     */
    listType: number;
    /**
     * Specifies the protected object ID.
     */
    objectId: string;
    /**
     * Specifies the port.
     */
    port?: string;
    /**
     * Specifies The protocol type.
     * The options are as follows:
     * + **6**: TCP;
     * + **17**: UDP;
     * + **1**: ICMP;
     * + **-1**: any protocol;
     */
    protocol?: number;
    /**
     * Specifies the region in which to query the resource.
     * If omitted, the provider-level region will be used.
     */
    region?: string;
}
/**
 * A collection of values returned by getBlackWhiteLists.
 */
export interface GetBlackWhiteListsResult {
    /**
     * The IP address.
     */
    readonly address?: string;
    /**
     * The IP address type.
     */
    readonly addressType?: string;
    /**
     * The description.
     */
    readonly description?: string;
    /**
     * The direction of a black or white address.
     */
    readonly direction?: string;
    readonly fwInstanceId?: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The blacklist/whitelist ID.
     */
    readonly listId?: string;
    readonly listType: number;
    readonly objectId: string;
    /**
     * The port.
     */
    readonly port?: string;
    /**
     * The protocol type.
     */
    readonly protocol?: number;
    /**
     * The blacklist and whitelist records.
     */
    readonly records: outputs.Cfw.GetBlackWhiteListsRecord[];
    readonly region: string;
}
export declare function getBlackWhiteListsOutput(args: GetBlackWhiteListsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetBlackWhiteListsResult>;
/**
 * A collection of arguments for invoking getBlackWhiteLists.
 */
export interface GetBlackWhiteListsOutputArgs {
    /**
     * Specifies the IP address.
     */
    address?: pulumi.Input<string>;
    /**
     * Specifies the IP address type.
     * The valid value can be **0** (IPv4).
     */
    addressType?: pulumi.Input<string>;
    /**
     * Specifies the description.
     */
    description?: pulumi.Input<string>;
    /**
     * Specifies the direction of a black or white address.
     * The options are as follows:
     * + **0**: source address;
     * + **1**: destination address;
     */
    direction?: pulumi.Input<string>;
    /**
     * Specifies the firewall instance ID.
     */
    fwInstanceId?: pulumi.Input<string>;
    /**
     * Specifies the blacklist/whitelist ID.
     */
    listId?: pulumi.Input<string>;
    /**
     * Specifies the blacklist/whitelist type.
     * The options are `4` (blacklist) and `5` (whitelist).
     */
    listType: pulumi.Input<number>;
    /**
     * Specifies the protected object ID.
     */
    objectId: pulumi.Input<string>;
    /**
     * Specifies the port.
     */
    port?: pulumi.Input<string>;
    /**
     * Specifies The protocol type.
     * The options are as follows:
     * + **6**: TCP;
     * + **17**: UDP;
     * + **1**: ICMP;
     * + **-1**: any protocol;
     */
    protocol?: pulumi.Input<number>;
    /**
     * Specifies the region in which to query the resource.
     * If omitted, the provider-level region will be used.
     */
    region?: pulumi.Input<string>;
}
