import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
 * [BETA] Provides an updated version of the Datadog dashboard resource which improves compliance with Datadog's dashboard API spec. This version is currently experimental and prone to changes.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as datadog from "@pulumi/datadog";
 *
 * // Example Ordered Layout
 * const orderedDashboard = new datadog.DashboardV2("ordered_dashboard", {
 *     title: "Ordered Layout Dashboard",
 *     description: "Created using the Datadog provider in Pulumi",
 *     layoutType: "ordered",
 *     widgets: [
 *         {
 *             timeseriesDefinition: {
 *                 requests: [{
 *                     formulas: [{
 *                         formulaExpression: "my_query_1",
 *                         alias: "CPU Usage",
 *                     }],
 *                     queries: [{
 *                         metricQuery: {
 *                             dataSource: "metrics",
 *                             query: "avg:system.cpu.user{*} by {env}",
 *                             name: "my_query_1",
 *                             aggregator: "avg",
 *                         },
 *                     }],
 *                 }],
 *                 title: "CPU Usage by Environment",
 *                 liveSpan: "1h",
 *             },
 *         },
 *         {
 *             queryValueDefinition: {
 *                 requests: [{
 *                     formulas: [{
 *                         formulaExpression: "my_query_1",
 *                     }],
 *                     queries: [{
 *                         metricQuery: {
 *                             dataSource: "metrics",
 *                             query: "avg:system.load.1{*}",
 *                             name: "my_query_1",
 *                             aggregator: "avg",
 *                         },
 *                     }],
 *                     conditionalFormats: [
 *                         {
 *                             comparator: "<",
 *                             value: 2,
 *                             palette: "white_on_green",
 *                         },
 *                         {
 *                             comparator: ">",
 *                             value: 2.2,
 *                             palette: "white_on_red",
 *                         },
 *                     ],
 *                 }],
 *                 autoscale: true,
 *                 precision: 4,
 *                 textAlign: "right",
 *                 title: "System Load",
 *                 liveSpan: "1h",
 *             },
 *         },
 *         {
 *             groupDefinition: {
 *                 layoutType: "ordered",
 *                 title: "Group Widget",
 *                 widgets: [{
 *                     noteDefinition: {
 *                         content: "cluster note widget",
 *                         backgroundColor: "pink",
 *                         fontSize: "14",
 *                         textAlign: "center",
 *                         showTick: true,
 *                         tickEdge: "left",
 *                         tickPos: "50%",
 *                     },
 *                 }],
 *             },
 *         },
 *     ],
 *     templateVariables: [{
 *         name: "var_1",
 *         prefix: "host",
 *         "default": "aws",
 *     }],
 * });
 * // Example Free Layout
 * const freeDashboard = new datadog.DashboardV2("free_dashboard", {
 *     title: "Free Layout Dashboard",
 *     description: "Created using the Datadog provider in Pulumi",
 *     layoutType: "free",
 *     widgets: [{
 *         timeseriesDefinition: {
 *             requests: [{
 *                 formulas: [{
 *                     formulaExpression: "my_query_1",
 *                 }],
 *                 queries: [{
 *                     metricQuery: {
 *                         dataSource: "metrics",
 *                         query: "avg:system.cpu.user{*} by {env}",
 *                         name: "my_query_1",
 *                         aggregator: "sum",
 *                     },
 *                 }],
 *             }],
 *         },
 *         widgetLayout: {
 *             height: 16,
 *             width: 25,
 *             x: 0,
 *             y: 0,
 *         },
 *     }],
 *     templateVariables: [{
 *         name: "var_1",
 *         prefix: "host",
 *         "default": "aws",
 *     }],
 * });
 * ```
 *
 * ## Import
 *
 * The `pulumi import` command can be used, for example:
 *
 * ```sh
 * $ pulumi import datadog:index/dashboardV2:DashboardV2 my_service_dashboard sv7-gyh-kas
 * ```
 */
export declare class DashboardV2 extends pulumi.CustomResource {
    /**
     * Get an existing DashboardV2 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 state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DashboardV2State, opts?: pulumi.CustomResourceOptions): DashboardV2;
    /**
     * Returns true if the given object is an instance of DashboardV2.  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 DashboardV2;
    /**
     * A list of dashboard lists this dashboard belongs to. This attribute should not be set if managing the corresponding dashboard lists using Terraform as it causes inconsistent behavior.
     */
    readonly dashboardLists: pulumi.Output<number[] | undefined>;
    /**
     * A list of dashboard lists this dashboard should be removed from. Internal only.
     */
    readonly dashboardListsRemoveds: pulumi.Output<number[]>;
    /**
     * The description of the dashboard.
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. Defaults to `false`.
     *
     * @deprecated This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard.
     */
    readonly isReadOnly: pulumi.Output<boolean | undefined>;
    /**
     * The layout type of the dashboard. Valid values are `ordered`, `free`.
     */
    readonly layoutType: pulumi.Output<string>;
    /**
     * The list of handles for the users to notify when changes are made to this dashboard.
     */
    readonly notifyLists: pulumi.Output<string[] | undefined>;
    /**
     * The reflow type of a new dashboard layout. Set this only when layout type is `ordered`. If set to `fixed`, the dashboard expects all widgets to have a layout, and if it's set to `auto`, widgets should not have layouts. Valid values are `auto`, `fixed`.
     */
    readonly reflowType: pulumi.Output<string | undefined>;
    /**
     * A list of role identifiers. Only the author and users associated with at least one of these roles can edit this dashboard.
     */
    readonly restrictedRoles: pulumi.Output<string[] | undefined>;
    /**
     * List of tabs for organizing widgets.
     */
    readonly tabs: pulumi.Output<outputs.DashboardV2Tab[] | undefined>;
    /**
     * A list of tags assigned to the Dashboard. Only team names of the form `team:<name>` are supported.
     */
    readonly tags: pulumi.Output<string[] | undefined>;
    /**
     * The list of selectable template variable presets for this dashboard.
     */
    readonly templateVariablePresets: pulumi.Output<outputs.DashboardV2TemplateVariablePreset[] | undefined>;
    /**
     * The list of template variables for this dashboard.
     */
    readonly templateVariables: pulumi.Output<outputs.DashboardV2TemplateVariable[] | undefined>;
    /**
     * The title of the dashboard.
     */
    readonly title: pulumi.Output<string>;
    /**
     * The URL of the dashboard.
     */
    readonly url: pulumi.Output<string>;
    /**
     * The list of widgets to display on the dashboard.
     */
    readonly widgets: pulumi.Output<outputs.DashboardV2Widget[] | undefined>;
    /**
     * Create a DashboardV2 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: DashboardV2Args, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering DashboardV2 resources.
 */
export interface DashboardV2State {
    /**
     * A list of dashboard lists this dashboard belongs to. This attribute should not be set if managing the corresponding dashboard lists using Terraform as it causes inconsistent behavior.
     */
    dashboardLists?: pulumi.Input<pulumi.Input<number>[] | undefined>;
    /**
     * A list of dashboard lists this dashboard should be removed from. Internal only.
     */
    dashboardListsRemoveds?: pulumi.Input<pulumi.Input<number>[] | undefined>;
    /**
     * The description of the dashboard.
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. Defaults to `false`.
     *
     * @deprecated This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard.
     */
    isReadOnly?: pulumi.Input<boolean | undefined>;
    /**
     * The layout type of the dashboard. Valid values are `ordered`, `free`.
     */
    layoutType?: pulumi.Input<string | undefined>;
    /**
     * The list of handles for the users to notify when changes are made to this dashboard.
     */
    notifyLists?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The reflow type of a new dashboard layout. Set this only when layout type is `ordered`. If set to `fixed`, the dashboard expects all widgets to have a layout, and if it's set to `auto`, widgets should not have layouts. Valid values are `auto`, `fixed`.
     */
    reflowType?: pulumi.Input<string | undefined>;
    /**
     * A list of role identifiers. Only the author and users associated with at least one of these roles can edit this dashboard.
     */
    restrictedRoles?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * List of tabs for organizing widgets.
     */
    tabs?: pulumi.Input<pulumi.Input<inputs.DashboardV2Tab>[] | undefined>;
    /**
     * A list of tags assigned to the Dashboard. Only team names of the form `team:<name>` are supported.
     */
    tags?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The list of selectable template variable presets for this dashboard.
     */
    templateVariablePresets?: pulumi.Input<pulumi.Input<inputs.DashboardV2TemplateVariablePreset>[] | undefined>;
    /**
     * The list of template variables for this dashboard.
     */
    templateVariables?: pulumi.Input<pulumi.Input<inputs.DashboardV2TemplateVariable>[] | undefined>;
    /**
     * The title of the dashboard.
     */
    title?: pulumi.Input<string | undefined>;
    /**
     * The URL of the dashboard.
     */
    url?: pulumi.Input<string | undefined>;
    /**
     * The list of widgets to display on the dashboard.
     */
    widgets?: pulumi.Input<pulumi.Input<inputs.DashboardV2Widget>[] | undefined>;
}
/**
 * The set of arguments for constructing a DashboardV2 resource.
 */
export interface DashboardV2Args {
    /**
     * A list of dashboard lists this dashboard belongs to. This attribute should not be set if managing the corresponding dashboard lists using Terraform as it causes inconsistent behavior.
     */
    dashboardLists?: pulumi.Input<pulumi.Input<number>[] | undefined>;
    /**
     * A list of dashboard lists this dashboard should be removed from. Internal only.
     */
    dashboardListsRemoveds?: pulumi.Input<pulumi.Input<number>[] | undefined>;
    /**
     * The description of the dashboard.
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. Defaults to `false`.
     *
     * @deprecated This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard.
     */
    isReadOnly?: pulumi.Input<boolean | undefined>;
    /**
     * The layout type of the dashboard. Valid values are `ordered`, `free`.
     */
    layoutType: pulumi.Input<string>;
    /**
     * The list of handles for the users to notify when changes are made to this dashboard.
     */
    notifyLists?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The reflow type of a new dashboard layout. Set this only when layout type is `ordered`. If set to `fixed`, the dashboard expects all widgets to have a layout, and if it's set to `auto`, widgets should not have layouts. Valid values are `auto`, `fixed`.
     */
    reflowType?: pulumi.Input<string | undefined>;
    /**
     * A list of role identifiers. Only the author and users associated with at least one of these roles can edit this dashboard.
     */
    restrictedRoles?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * List of tabs for organizing widgets.
     */
    tabs?: pulumi.Input<pulumi.Input<inputs.DashboardV2Tab>[] | undefined>;
    /**
     * A list of tags assigned to the Dashboard. Only team names of the form `team:<name>` are supported.
     */
    tags?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The list of selectable template variable presets for this dashboard.
     */
    templateVariablePresets?: pulumi.Input<pulumi.Input<inputs.DashboardV2TemplateVariablePreset>[] | undefined>;
    /**
     * The list of template variables for this dashboard.
     */
    templateVariables?: pulumi.Input<pulumi.Input<inputs.DashboardV2TemplateVariable>[] | undefined>;
    /**
     * The title of the dashboard.
     */
    title: pulumi.Input<string>;
    /**
     * The URL of the dashboard.
     */
    url?: pulumi.Input<string | undefined>;
    /**
     * The list of widgets to display on the dashboard.
     */
    widgets?: pulumi.Input<pulumi.Input<inputs.DashboardV2Widget>[] | undefined>;
}
//# sourceMappingURL=dashboardV2.d.ts.map