import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Definition of the AWS::QuickSight::Topic Resource Type.
 */
export declare class Topic extends pulumi.CustomResource {
    /**
     * Get an existing Topic resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Topic;
    /**
     * Returns true if the given object is an instance of Topic.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is Topic;
    /**
     * The Amazon Resource Name (ARN) of the topic.
     */
    readonly arn: pulumi.Output<string>;
    /**
     * The ID of the AWS account that you want to create a topic in.
     */
    readonly awsAccountId: pulumi.Output<string | undefined>;
    /**
     * Configuration options for a `Topic` .
     */
    readonly configOptions: pulumi.Output<outputs.quicksight.TopicConfigOptions | undefined>;
    readonly customInstructions: pulumi.Output<outputs.quicksight.TopicCustomInstructions | undefined>;
    /**
     * The data sets that the topic is associated with.
     */
    readonly dataSets: pulumi.Output<outputs.quicksight.TopicDatasetMetadata[] | undefined>;
    /**
     * The description of the topic.
     */
    readonly description: pulumi.Output<string | undefined>;
    readonly folderArns: pulumi.Output<string[] | undefined>;
    /**
     * The name of the topic.
     */
    readonly name: pulumi.Output<string | undefined>;
    readonly tags: pulumi.Output<outputs.CreateOnlyTag[] | undefined>;
    /**
     * The ID for the topic. This ID is unique per AWS Region for each AWS account.
     */
    readonly topicId: pulumi.Output<string | undefined>;
    /**
     * The user experience version of the topic.
     */
    readonly userExperienceVersion: pulumi.Output<enums.quicksight.TopicUserExperienceVersion | undefined>;
    /**
     * Create a Topic resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args?: TopicArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a Topic resource.
 */
export interface TopicArgs {
    /**
     * The ID of the AWS account that you want to create a topic in.
     */
    awsAccountId?: pulumi.Input<string>;
    /**
     * Configuration options for a `Topic` .
     */
    configOptions?: pulumi.Input<inputs.quicksight.TopicConfigOptionsArgs>;
    customInstructions?: pulumi.Input<inputs.quicksight.TopicCustomInstructionsArgs>;
    /**
     * The data sets that the topic is associated with.
     */
    dataSets?: pulumi.Input<pulumi.Input<inputs.quicksight.TopicDatasetMetadataArgs>[]>;
    /**
     * The description of the topic.
     */
    description?: pulumi.Input<string>;
    folderArns?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The name of the topic.
     */
    name?: pulumi.Input<string>;
    tags?: pulumi.Input<pulumi.Input<inputs.CreateOnlyTagArgs>[]>;
    /**
     * The ID for the topic. This ID is unique per AWS Region for each AWS account.
     */
    topicId?: pulumi.Input<string>;
    /**
     * The user experience version of the topic.
     */
    userExperienceVersion?: pulumi.Input<enums.quicksight.TopicUserExperienceVersion>;
}
