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::DataSet Resource Type.
 */
export declare class DataSet extends pulumi.CustomResource {
    /**
     * Get an existing DataSet 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): DataSet;
    /**
     * Returns true if the given object is an instance of DataSet.  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 DataSet;
    /**
     * <p>The Amazon Resource Name (ARN) of the resource.</p>
     */
    readonly arn: pulumi.Output<string>;
    /**
     * The AWS account ID.
     */
    readonly awsAccountId: pulumi.Output<string | undefined>;
    /**
     * <p>Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported.</p>
     */
    readonly columnGroups: pulumi.Output<outputs.quicksight.DataSetColumnGroup[] | undefined>;
    /**
     * <p>A set of one or more definitions of a <code>
     *                <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html">ColumnLevelPermissionRule</a>
     *             </code>.</p>
     */
    readonly columnLevelPermissionRules: pulumi.Output<outputs.quicksight.DataSetColumnLevelPermissionRule[] | undefined>;
    /**
     * <p>The amount of SPICE capacity used by this dataset. This is 0 if the dataset isn't
     *             imported into SPICE.</p>
     */
    readonly consumedSpiceCapacityInBytes: pulumi.Output<number>;
    /**
     * <p>The time that this dataset was created.</p>
     */
    readonly createdTime: pulumi.Output<string>;
    /**
     * An ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.
     */
    readonly dataSetId: pulumi.Output<string | undefined>;
    /**
     * The refresh properties of a dataset.
     */
    readonly dataSetRefreshProperties: pulumi.Output<outputs.quicksight.DataSetRefreshProperties | undefined>;
    /**
     * The usage configuration to apply to child datasets that reference this dataset as a source.
     */
    readonly dataSetUsageConfiguration: pulumi.Output<outputs.quicksight.DataSetUsageConfiguration | undefined>;
    /**
     * <p>The parameter declarations of the dataset.</p>
     */
    readonly datasetParameters: pulumi.Output<outputs.quicksight.DataSetDatasetParameter[] | undefined>;
    /**
     * The folder that contains fields and nested subfolders for your dataset.
     */
    readonly fieldFolders: pulumi.Output<{
        [key: string]: outputs.quicksight.DataSetFieldFolder;
    } | undefined>;
    /**
     * <p>When you create the dataset, Amazon QuickSight adds the dataset to these folders.</p>
     */
    readonly folderArns: pulumi.Output<string[] | undefined>;
    /**
     * Indicates whether you want to import the data into SPICE.
     */
    readonly importMode: pulumi.Output<enums.quicksight.DataSetImportMode | undefined>;
    /**
     * The wait policy to use when creating or updating a Dataset. The default is to wait for SPICE ingestion to finish with timeout of 36 hours.
     */
    readonly ingestionWaitPolicy: pulumi.Output<outputs.quicksight.DataSetIngestionWaitPolicy | undefined>;
    /**
     * <p>The last time that this dataset was updated.</p>
     */
    readonly lastUpdatedTime: pulumi.Output<string>;
    /**
     * Configures the combination and transformation of the data from the physical tables.
     */
    readonly logicalTableMap: pulumi.Output<{
        [key: string]: outputs.quicksight.DataSetLogicalTable;
    } | undefined>;
    /**
     * <p>The display name for the dataset.</p>
     */
    readonly name: pulumi.Output<string | undefined>;
    /**
     * <p>The list of columns after all transforms. These columns are available in templates,
     *             analyses, and dashboards.</p>
     */
    readonly outputColumns: pulumi.Output<outputs.quicksight.DataSetOutputColumn[]>;
    /**
     * The performance optimization configuration of a dataset.
     */
    readonly performanceConfiguration: pulumi.Output<outputs.quicksight.DataSetPerformanceConfiguration | undefined>;
    /**
     * <p>A list of resource permissions on the dataset.</p>
     */
    readonly permissions: pulumi.Output<outputs.quicksight.DataSetResourcePermission[] | undefined>;
    /**
     * Declares the physical tables that are available in the underlying data sources.
     */
    readonly physicalTableMap: pulumi.Output<{
        [key: string]: outputs.quicksight.DataSetPhysicalTable;
    } | undefined>;
    /**
     * The row-level security configuration for the data that you want to create.
     */
    readonly rowLevelPermissionDataSet: pulumi.Output<outputs.quicksight.DataSetRowLevelPermissionDataSet | undefined>;
    /**
     * The element you can use to define tags for row-level security.
     */
    readonly rowLevelPermissionTagConfiguration: pulumi.Output<outputs.quicksight.DataSetRowLevelPermissionTagConfiguration | undefined>;
    /**
     * <p>Contains a map of the key-value pairs for the resource tag or tags assigned to the dataset.</p>
     */
    readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
    /**
     * The usage of the dataset.
     */
    readonly useAs: pulumi.Output<enums.quicksight.DataSetUseAs | undefined>;
    /**
     * Create a DataSet 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?: DataSetArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a DataSet resource.
 */
export interface DataSetArgs {
    /**
     * The AWS account ID.
     */
    awsAccountId?: pulumi.Input<string>;
    /**
     * <p>Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported.</p>
     */
    columnGroups?: pulumi.Input<pulumi.Input<inputs.quicksight.DataSetColumnGroupArgs>[]>;
    /**
     * <p>A set of one or more definitions of a <code>
     *                <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html">ColumnLevelPermissionRule</a>
     *             </code>.</p>
     */
    columnLevelPermissionRules?: pulumi.Input<pulumi.Input<inputs.quicksight.DataSetColumnLevelPermissionRuleArgs>[]>;
    /**
     * An ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.
     */
    dataSetId?: pulumi.Input<string>;
    /**
     * The refresh properties of a dataset.
     */
    dataSetRefreshProperties?: pulumi.Input<inputs.quicksight.DataSetRefreshPropertiesArgs>;
    /**
     * The usage configuration to apply to child datasets that reference this dataset as a source.
     */
    dataSetUsageConfiguration?: pulumi.Input<inputs.quicksight.DataSetUsageConfigurationArgs>;
    /**
     * <p>The parameter declarations of the dataset.</p>
     */
    datasetParameters?: pulumi.Input<pulumi.Input<inputs.quicksight.DataSetDatasetParameterArgs>[]>;
    /**
     * The folder that contains fields and nested subfolders for your dataset.
     */
    fieldFolders?: pulumi.Input<{
        [key: string]: pulumi.Input<inputs.quicksight.DataSetFieldFolderArgs>;
    }>;
    /**
     * <p>When you create the dataset, Amazon QuickSight adds the dataset to these folders.</p>
     */
    folderArns?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Indicates whether you want to import the data into SPICE.
     */
    importMode?: pulumi.Input<enums.quicksight.DataSetImportMode>;
    /**
     * The wait policy to use when creating or updating a Dataset. The default is to wait for SPICE ingestion to finish with timeout of 36 hours.
     */
    ingestionWaitPolicy?: pulumi.Input<inputs.quicksight.DataSetIngestionWaitPolicyArgs>;
    /**
     * Configures the combination and transformation of the data from the physical tables.
     */
    logicalTableMap?: pulumi.Input<{
        [key: string]: pulumi.Input<inputs.quicksight.DataSetLogicalTableArgs>;
    }>;
    /**
     * <p>The display name for the dataset.</p>
     */
    name?: pulumi.Input<string>;
    /**
     * The performance optimization configuration of a dataset.
     */
    performanceConfiguration?: pulumi.Input<inputs.quicksight.DataSetPerformanceConfigurationArgs>;
    /**
     * <p>A list of resource permissions on the dataset.</p>
     */
    permissions?: pulumi.Input<pulumi.Input<inputs.quicksight.DataSetResourcePermissionArgs>[]>;
    /**
     * Declares the physical tables that are available in the underlying data sources.
     */
    physicalTableMap?: pulumi.Input<{
        [key: string]: pulumi.Input<inputs.quicksight.DataSetPhysicalTableArgs>;
    }>;
    /**
     * The row-level security configuration for the data that you want to create.
     */
    rowLevelPermissionDataSet?: pulumi.Input<inputs.quicksight.DataSetRowLevelPermissionDataSetArgs>;
    /**
     * The element you can use to define tags for row-level security.
     */
    rowLevelPermissionTagConfiguration?: pulumi.Input<inputs.quicksight.DataSetRowLevelPermissionTagConfigurationArgs>;
    /**
     * <p>Contains a map of the key-value pairs for the resource tag or tags assigned to the dataset.</p>
     */
    tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
    /**
     * The usage of the dataset.
     */
    useAs?: pulumi.Input<enums.quicksight.DataSetUseAs>;
}
