import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to get a list of SMN topics.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const config = new pulumi.Config();
 * const topicName = config.requireObject("topicName");
 * const tpoic1 = huaweicloud.Smn.getTopics({
 *     name: topicName,
 * });
 * ```
 */
export declare function getTopics(args?: GetTopicsArgs, opts?: pulumi.InvokeOptions): Promise<GetTopicsResult>;
/**
 * A collection of arguments for invoking getTopics.
 */
export interface GetTopicsArgs {
    /**
     * Specifies the topic display name.
     */
    displayName?: string;
    /**
     * Specifies the enterprise project ID of the SMN topic.
     */
    enterpriseProjectId?: string;
    /**
     * Specifies the name of the topic.
     */
    name?: string;
    /**
     * Specifies the region in which to obtain the SMN topics. If omitted, the
     * provider-level region will be used.
     */
    region?: string;
    /**
     * Specifies the topic URN.
     */
    topicUrn?: string;
}
/**
 * A collection of values returned by getTopics.
 */
export interface GetTopicsResult {
    /**
     * The topic display name.
     */
    readonly displayName?: string;
    /**
     * The enterprise project ID of the SMN topic.
     */
    readonly enterpriseProjectId?: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The name of the topic.
     */
    readonly name?: string;
    readonly region: string;
    /**
     * The topic URN.
     */
    readonly topicUrn?: string;
    /**
     * An array of SMN topics found. Structure is documented below.
     */
    readonly topics: outputs.Smn.GetTopicsTopic[];
}
export declare function getTopicsOutput(args?: GetTopicsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetTopicsResult>;
/**
 * A collection of arguments for invoking getTopics.
 */
export interface GetTopicsOutputArgs {
    /**
     * Specifies the topic display name.
     */
    displayName?: pulumi.Input<string>;
    /**
     * Specifies the enterprise project ID of the SMN topic.
     */
    enterpriseProjectId?: pulumi.Input<string>;
    /**
     * Specifies the name of the topic.
     */
    name?: pulumi.Input<string>;
    /**
     * Specifies the region in which to obtain the SMN topics. If omitted, the
     * provider-level region will be used.
     */
    region?: pulumi.Input<string>;
    /**
     * Specifies the topic URN.
     */
    topicUrn?: pulumi.Input<string>;
}
