import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to query detailed information of tls rules
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 *
 * const default = volcengine.tls.getRules({
 *     projectId: "cc44f8b6-0328-4622-b043-023fca735cd4",
 * });
 * ```
 */
export declare function getRules(args: GetRulesArgs, opts?: pulumi.InvokeOptions): Promise<GetRulesResult>;
/**
 * A collection of arguments for invoking getRules.
 */
export interface GetRulesArgs {
    /**
     * File name where to save data source results.
     */
    outputFile?: string;
    /**
     * The project id.
     */
    projectId: string;
    /**
     * The rule id.
     */
    ruleId?: string;
    /**
     * The rule name.
     */
    ruleName?: string;
    /**
     * The topic id.
     */
    topicId?: string;
    /**
     * The topic name.
     */
    topicName?: string;
}
/**
 * A collection of values returned by getRules.
 */
export interface GetRulesResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly outputFile?: string;
    readonly projectId: string;
    /**
     * The rule id.
     */
    readonly ruleId?: string;
    /**
     * The rule name.
     */
    readonly ruleName?: string;
    /**
     * The rules list.
     */
    readonly rules: outputs.tls.GetRulesRule[];
    /**
     * The topic id.
     */
    readonly topicId?: string;
    /**
     * The topic name.
     */
    readonly topicName?: string;
    /**
     * The total count of query.
     */
    readonly totalCount: number;
}
/**
 * Use this data source to query detailed information of tls rules
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 *
 * const default = volcengine.tls.getRules({
 *     projectId: "cc44f8b6-0328-4622-b043-023fca735cd4",
 * });
 * ```
 */
export declare function getRulesOutput(args: GetRulesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetRulesResult>;
/**
 * A collection of arguments for invoking getRules.
 */
export interface GetRulesOutputArgs {
    /**
     * File name where to save data source results.
     */
    outputFile?: pulumi.Input<string>;
    /**
     * The project id.
     */
    projectId: pulumi.Input<string>;
    /**
     * The rule id.
     */
    ruleId?: pulumi.Input<string>;
    /**
     * The rule name.
     */
    ruleName?: pulumi.Input<string>;
    /**
     * The topic id.
     */
    topicId?: pulumi.Input<string>;
    /**
     * The topic name.
     */
    topicName?: pulumi.Input<string>;
}
