import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to query detailed information of cfw dns control policies
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 * import * as volcengine from "@volcengine/pulumi";
 *
 * const fooVpc = new volcengine.vpc.Vpc("fooVpc", {
 *     vpcName: "acc-test-vpc",
 *     cidrBlock: "172.16.0.0/16",
 * });
 * const fooCfwDnsControlPolicy = new volcengine.cloud_firewall.CfwDnsControlPolicy("fooCfwDnsControlPolicy", {
 *     description: "acc-test-dns-control-policy",
 *     destinationType: "domain",
 *     destination: "www.test.com",
 *     sources: [{
 *         vpcId: fooVpc.id,
 *         region: "cn-beijing",
 *     }],
 * });
 * const fooCfwDnsControlPolicies = volcengine.cloud_firewall.getCfwDnsControlPoliciesOutput({
 *     ids: [fooCfwDnsControlPolicy.id],
 * });
 * ```
 */
export declare function getCfwDnsControlPolicies(args?: GetCfwDnsControlPoliciesArgs, opts?: pulumi.InvokeOptions): Promise<GetCfwDnsControlPoliciesResult>;
/**
 * A collection of arguments for invoking getCfwDnsControlPolicies.
 */
export interface GetCfwDnsControlPoliciesArgs {
    /**
     * The description of the dns control policy. This field support fuzzy query.
     */
    description?: string;
    /**
     * The destination list of the dns control policy. This field support fuzzy query.
     */
    destinations?: string[];
    /**
     * The rule id list of the dns control policy. This field support fuzzy query.
     */
    ids?: string[];
    /**
     * The internet firewall id of the dns control policy.
     */
    internetFirewallId?: string;
    /**
     * File name where to save data source results.
     */
    outputFile?: string;
    /**
     * The source list of the dns control policy. This field support fuzzy query.
     */
    sources?: string[];
    /**
     * The enable status list of the dns control policy. This field support fuzzy query.
     */
    statuses?: boolean[];
}
/**
 * A collection of values returned by getCfwDnsControlPolicies.
 */
export interface GetCfwDnsControlPoliciesResult {
    /**
     * The description of the dns control policy.
     */
    readonly description?: string;
    /**
     * The destination of the dns control policy.
     */
    readonly destinations?: string[];
    /**
     * The collection of query.
     */
    readonly dnsControlPolicies: outputs.cloud_firewall.GetCfwDnsControlPoliciesDnsControlPolicy[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly ids?: string[];
    readonly internetFirewallId?: string;
    readonly outputFile?: string;
    /**
     * The source vpc list of the dns control policy.
     */
    readonly sources?: string[];
    /**
     * Whether to enable the dns control policy.
     */
    readonly statuses?: boolean[];
    /**
     * The total count of query.
     */
    readonly totalCount: number;
}
/**
 * Use this data source to query detailed information of cfw dns control policies
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 * import * as volcengine from "@volcengine/pulumi";
 *
 * const fooVpc = new volcengine.vpc.Vpc("fooVpc", {
 *     vpcName: "acc-test-vpc",
 *     cidrBlock: "172.16.0.0/16",
 * });
 * const fooCfwDnsControlPolicy = new volcengine.cloud_firewall.CfwDnsControlPolicy("fooCfwDnsControlPolicy", {
 *     description: "acc-test-dns-control-policy",
 *     destinationType: "domain",
 *     destination: "www.test.com",
 *     sources: [{
 *         vpcId: fooVpc.id,
 *         region: "cn-beijing",
 *     }],
 * });
 * const fooCfwDnsControlPolicies = volcengine.cloud_firewall.getCfwDnsControlPoliciesOutput({
 *     ids: [fooCfwDnsControlPolicy.id],
 * });
 * ```
 */
export declare function getCfwDnsControlPoliciesOutput(args?: GetCfwDnsControlPoliciesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetCfwDnsControlPoliciesResult>;
/**
 * A collection of arguments for invoking getCfwDnsControlPolicies.
 */
export interface GetCfwDnsControlPoliciesOutputArgs {
    /**
     * The description of the dns control policy. This field support fuzzy query.
     */
    description?: pulumi.Input<string>;
    /**
     * The destination list of the dns control policy. This field support fuzzy query.
     */
    destinations?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The rule id list of the dns control policy. This field support fuzzy query.
     */
    ids?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The internet firewall id of the dns control policy.
     */
    internetFirewallId?: pulumi.Input<string>;
    /**
     * File name where to save data source results.
     */
    outputFile?: pulumi.Input<string>;
    /**
     * The source list of the dns control policy. This field support fuzzy query.
     */
    sources?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The enable status list of the dns control policy. This field support fuzzy query.
     */
    statuses?: pulumi.Input<pulumi.Input<boolean>[]>;
}
