import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Resource Type definition for AWS::RUM::AppMonitor
 */
export declare class AppMonitor extends pulumi.CustomResource {
    /**
     * Get an existing AppMonitor 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): AppMonitor;
    /**
     * Returns true if the given object is an instance of AppMonitor.  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 AppMonitor;
    /**
     * A structure that contains much of the configuration data for the app monitor. If you are using Amazon Cognito for authorization, you must include this structure in your request, and it must include the ID of the Amazon Cognito identity pool to use for authorization. If you don't include `AppMonitorConfiguration` , you must set up your own authorization method. For more information, see [Authorize your application to send data to AWS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-get-started-authorization.html) .
     *
     * If you omit this argument, the sample rate used for CloudWatch RUM is set to 10% of the user sessions.
     */
    readonly appMonitorConfiguration: pulumi.Output<outputs.rum.AppMonitorConfiguration | undefined>;
    /**
     * The unique ID of the new app monitor.
     */
    readonly awsId: pulumi.Output<string>;
    /**
     * Specifies whether this app monitor allows the web client to define and send custom events. If you omit this parameter, custom events are `DISABLED` .
     */
    readonly customEvents: pulumi.Output<outputs.rum.AppMonitorCustomEvents | undefined>;
    /**
     * Data collected by RUM is kept by RUM for 30 days and then deleted. This parameter specifies whether RUM sends a copy of this telemetry data to CWLlong in your account. This enables you to keep the telemetry data for more than 30 days, but it does incur CWLlong charges. If you omit this parameter, the default is false
     */
    readonly cwLogEnabled: pulumi.Output<boolean | undefined>;
    /**
     * A structure that contains the configuration for how an app monitor can deobfuscate stack traces.
     */
    readonly deobfuscationConfiguration: pulumi.Output<outputs.rum.AppMonitorDeobfuscationConfiguration | undefined>;
    /**
     * The top-level internet domain name for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list.
     */
    readonly domain: pulumi.Output<string | undefined>;
    /**
     * The top-level internet domain names for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list.
     */
    readonly domainList: pulumi.Output<string[] | undefined>;
    /**
     * A name for the app monitor
     */
    readonly name: pulumi.Output<string>;
    /**
     * Use this structure to assign a resource-based policy to a CloudWatch RUM app monitor to control access to it. Each app monitor can have one resource-based policy. The maximum size of the policy is 4 KB. To learn more about using resource policies with RUM, see [Using resource-based policies with CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-resource-policies.html) .
     */
    readonly resourcePolicy: pulumi.Output<outputs.rum.AppMonitorResourcePolicy | undefined>;
    /**
     * Assigns one or more tags (key-value pairs) to the app monitor.
     *
     * Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.
     *
     * Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.
     *
     * You can associate as many as 50 tags with an app monitor.
     *
     * For more information, see [Tagging AWS resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) .
     */
    readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
    /**
     * Create a AppMonitor 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?: AppMonitorArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a AppMonitor resource.
 */
export interface AppMonitorArgs {
    /**
     * A structure that contains much of the configuration data for the app monitor. If you are using Amazon Cognito for authorization, you must include this structure in your request, and it must include the ID of the Amazon Cognito identity pool to use for authorization. If you don't include `AppMonitorConfiguration` , you must set up your own authorization method. For more information, see [Authorize your application to send data to AWS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-get-started-authorization.html) .
     *
     * If you omit this argument, the sample rate used for CloudWatch RUM is set to 10% of the user sessions.
     */
    appMonitorConfiguration?: pulumi.Input<inputs.rum.AppMonitorConfigurationArgs>;
    /**
     * Specifies whether this app monitor allows the web client to define and send custom events. If you omit this parameter, custom events are `DISABLED` .
     */
    customEvents?: pulumi.Input<inputs.rum.AppMonitorCustomEventsArgs>;
    /**
     * Data collected by RUM is kept by RUM for 30 days and then deleted. This parameter specifies whether RUM sends a copy of this telemetry data to CWLlong in your account. This enables you to keep the telemetry data for more than 30 days, but it does incur CWLlong charges. If you omit this parameter, the default is false
     */
    cwLogEnabled?: pulumi.Input<boolean>;
    /**
     * A structure that contains the configuration for how an app monitor can deobfuscate stack traces.
     */
    deobfuscationConfiguration?: pulumi.Input<inputs.rum.AppMonitorDeobfuscationConfigurationArgs>;
    /**
     * The top-level internet domain name for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list.
     */
    domain?: pulumi.Input<string>;
    /**
     * The top-level internet domain names for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list.
     */
    domainList?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * A name for the app monitor
     */
    name?: pulumi.Input<string>;
    /**
     * Use this structure to assign a resource-based policy to a CloudWatch RUM app monitor to control access to it. Each app monitor can have one resource-based policy. The maximum size of the policy is 4 KB. To learn more about using resource policies with RUM, see [Using resource-based policies with CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-resource-policies.html) .
     */
    resourcePolicy?: pulumi.Input<inputs.rum.AppMonitorResourcePolicyArgs>;
    /**
     * Assigns one or more tags (key-value pairs) to the app monitor.
     *
     * Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.
     *
     * Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.
     *
     * You can associate as many as 50 tags with an app monitor.
     *
     * For more information, see [Tagging AWS resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) .
     */
    tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
}
