import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { GroupReference, IGroupRef, IResourcePolicyRef, ISamplingRuleRef, ITransactionSearchConfigRef, ResourcePolicyReference, SamplingRuleReference, TransactionSearchConfigReference } from "../../interfaces/generated/aws-xray-interfaces.generated";
/**
 * Use the `AWS::XRay::Group` resource to specify a group with a name and a filter expression.
 *
 * Groups enable the collection of traces that match the filter expression, can be used to filter service graphs and traces, and to supply Amazon CloudWatch metrics.
 *
 * @cloudformationResource AWS::XRay::Group
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-group.html
 */
export declare class CfnGroup extends cdk.CfnResource implements cdk.IInspectable, IGroupRef, cdk.ITaggableV2 {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnGroup from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnGroup;
    /**
     * Checks whether the given object is a CfnGroup
     */
    static isCfnGroup(x: any): x is CfnGroup;
    static arnForGroup(resource: IGroupRef): string;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly cdkTagManager: cdk.TagManager;
    /**
     * The filter expression defining the parameters to include traces.
     */
    private _filterExpression?;
    /**
     * The unique case-sensitive name of the group.
     */
    private _groupName;
    /**
     * The structure containing configurations related to insights.
     */
    private _insightsConfiguration?;
    /**
     * An array of key-value pairs to apply to this resource.
     */
    private _tags?;
    /**
     * Create a new `AWS::XRay::Group`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnGroupProps);
    get groupRef(): GroupReference;
    /**
     * The filter expression defining the parameters to include traces.
     */
    get filterExpression(): string | undefined;
    /**
     * The filter expression defining the parameters to include traces.
     */
    set filterExpression(value: string | undefined);
    /**
     * The unique case-sensitive name of the group.
     */
    get groupName(): string;
    /**
     * The unique case-sensitive name of the group.
     */
    set groupName(value: string);
    /**
     * The structure containing configurations related to insights.
     */
    get insightsConfiguration(): CfnGroup.InsightsConfigurationProperty | cdk.IResolvable | undefined;
    /**
     * The structure containing configurations related to insights.
     */
    set insightsConfiguration(value: CfnGroup.InsightsConfigurationProperty | cdk.IResolvable | undefined);
    /**
     * An array of key-value pairs to apply to this resource.
     */
    get tags(): Array<cdk.CfnTag> | undefined;
    /**
     * An array of key-value pairs to apply to this resource.
     */
    set tags(value: Array<cdk.CfnTag> | undefined);
    /**
     * The group ARN that was created or updated.
     *
     * @cloudformationAttribute GroupARN
     */
    get attrGroupArn(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnGroup {
    /**
     * The structure containing configurations related to insights.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-group-insightsconfiguration.html
     */
    interface InsightsConfigurationProperty {
        /**
         * Set the InsightsEnabled value to true to enable insights or false to disable insights.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-group-insightsconfiguration.html#cfn-xray-group-insightsconfiguration-insightsenabled
         */
        readonly insightsEnabled?: boolean | cdk.IResolvable;
        /**
         * Set the NotificationsEnabled value to true to enable insights notifications.
         *
         * Notifications can only be enabled on a group with InsightsEnabled set to true.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-group-insightsconfiguration.html#cfn-xray-group-insightsconfiguration-notificationsenabled
         */
        readonly notificationsEnabled?: boolean | cdk.IResolvable;
    }
}
/**
 * Properties for defining a `CfnGroup`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-group.html
 */
export interface CfnGroupProps {
    /**
     * The filter expression defining the parameters to include traces.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-group.html#cfn-xray-group-filterexpression
     */
    readonly filterExpression?: string;
    /**
     * The unique case-sensitive name of the group.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-group.html#cfn-xray-group-groupname
     */
    readonly groupName: string;
    /**
     * The structure containing configurations related to insights.
     *
     * - The InsightsEnabled boolean can be set to true to enable insights for the group or false to disable insights for the group.
     * - The NotificationsEnabled boolean can be set to true to enable insights notifications through Amazon EventBridge for the group.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-group.html#cfn-xray-group-insightsconfiguration
     */
    readonly insightsConfiguration?: CfnGroup.InsightsConfigurationProperty | cdk.IResolvable;
    /**
     * An array of key-value pairs to apply to this resource.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-group.html#cfn-xray-group-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
}
/**
 * Use `AWS::XRay::ResourcePolicy` to specify an X-Ray resource-based policy, which grants one or more AWS services and accounts permissions to access X-Ray .
 *
 * Each resource-based policy is associated with a specific AWS account.
 *
 * @cloudformationResource AWS::XRay::ResourcePolicy
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-resourcepolicy.html
 */
export declare class CfnResourcePolicy extends cdk.CfnResource implements cdk.IInspectable, IResourcePolicyRef {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnResourcePolicy from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnResourcePolicy;
    /**
     * Checks whether the given object is a CfnResourcePolicy
     */
    static isCfnResourcePolicy(x: any): x is CfnResourcePolicy;
    /**
     * A flag to indicate whether to bypass the resource-based policy lockout safety check.
     */
    private _bypassPolicyLockoutCheck?;
    /**
     * The resource-based policy document, which can be up to 5kb in size.
     */
    private _policyDocument;
    /**
     * The name of the resource-based policy.
     */
    private _policyName;
    /**
     * Create a new `AWS::XRay::ResourcePolicy`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnResourcePolicyProps);
    get resourcePolicyRef(): ResourcePolicyReference;
    /**
     * A flag to indicate whether to bypass the resource-based policy lockout safety check.
     */
    get bypassPolicyLockoutCheck(): boolean | cdk.IResolvable | undefined;
    /**
     * A flag to indicate whether to bypass the resource-based policy lockout safety check.
     */
    set bypassPolicyLockoutCheck(value: boolean | cdk.IResolvable | undefined);
    /**
     * The resource-based policy document, which can be up to 5kb in size.
     */
    get policyDocument(): string;
    /**
     * The resource-based policy document, which can be up to 5kb in size.
     */
    set policyDocument(value: string);
    /**
     * The name of the resource-based policy.
     */
    get policyName(): string;
    /**
     * The name of the resource-based policy.
     */
    set policyName(value: string);
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
 * Properties for defining a `CfnResourcePolicy`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-resourcepolicy.html
 */
export interface CfnResourcePolicyProps {
    /**
     * A flag to indicate whether to bypass the resource-based policy lockout safety check.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-resourcepolicy.html#cfn-xray-resourcepolicy-bypasspolicylockoutcheck
     */
    readonly bypassPolicyLockoutCheck?: boolean | cdk.IResolvable;
    /**
     * The resource-based policy document, which can be up to 5kb in size.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-resourcepolicy.html#cfn-xray-resourcepolicy-policydocument
     */
    readonly policyDocument: string;
    /**
     * The name of the resource-based policy.
     *
     * Must be unique within a specific AWS account.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-resourcepolicy.html#cfn-xray-resourcepolicy-policyname
     */
    readonly policyName: string;
}
/**
 * Use the `AWS::XRay::SamplingRule` resource to specify a sampling rule, which controls sampling behavior for instrumented applications.
 *
 * Include a `SamplingRule` entity to create or update a sampling rule.
 *
 * > `SamplingRule.Version` can only be set when creating a sampling rule. Updating the version will cause the update to fail.
 *
 * Services retrieve rules with [GetSamplingRules](https://docs.aws.amazon.com//xray/latest/api/API_GetSamplingRules.html) , and evaluate each rule in ascending order of *priority* for each request. If a rule matches, the service records a trace, borrowing it from the reservoir size. After 10 seconds, the service reports back to X-Ray with [GetSamplingTargets](https://docs.aws.amazon.com//xray/latest/api/API_GetSamplingTargets.html) to get updated versions of each in-use rule. The updated rule contains a trace quota that the service can use instead of borrowing from the reservoir.
 *
 * @cloudformationResource AWS::XRay::SamplingRule
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-samplingrule.html
 */
export declare class CfnSamplingRule extends cdk.CfnResource implements cdk.IInspectable, ISamplingRuleRef, cdk.ITaggableV2 {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnSamplingRule from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnSamplingRule;
    /**
     * Checks whether the given object is a CfnSamplingRule
     */
    static isCfnSamplingRule(x: any): x is CfnSamplingRule;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly cdkTagManager: cdk.TagManager;
    /**
     * The ARN of the sampling rule.
     *
     * @deprecated this property has been deprecated
     */
    private _ruleName?;
    /**
     * The sampling rule to be created or updated.
     */
    private _samplingRule?;
    /**
     * @deprecated this property has been deprecated
     */
    private _samplingRuleRecord?;
    /**
     * @deprecated this property has been deprecated
     */
    private _samplingRuleUpdate?;
    /**
     * An array of key-value pairs to apply to this resource.
     */
    private _tags?;
    /**
     * Create a new `AWS::XRay::SamplingRule`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props?: CfnSamplingRuleProps);
    get samplingRuleRef(): SamplingRuleReference;
    /**
     * The ARN of the sampling rule.
     *
     * @deprecated this property has been deprecated
     */
    get ruleName(): string | undefined;
    /**
     * The ARN of the sampling rule.
     *
     * @deprecated this property has been deprecated
     */
    set ruleName(value: string | undefined);
    /**
     * The sampling rule to be created or updated.
     */
    get samplingRule(): cdk.IResolvable | CfnSamplingRule.SamplingRuleProperty | undefined;
    /**
     * The sampling rule to be created or updated.
     */
    set samplingRule(value: cdk.IResolvable | CfnSamplingRule.SamplingRuleProperty | undefined);
    /**
     * @deprecated this property has been deprecated
     */
    get samplingRuleRecord(): cdk.IResolvable | CfnSamplingRule.SamplingRuleRecordProperty | undefined;
    /**
     * @deprecated this property has been deprecated
     */
    set samplingRuleRecord(value: cdk.IResolvable | CfnSamplingRule.SamplingRuleRecordProperty | undefined);
    /**
     * @deprecated this property has been deprecated
     */
    get samplingRuleUpdate(): cdk.IResolvable | CfnSamplingRule.SamplingRuleUpdateProperty | undefined;
    /**
     * @deprecated this property has been deprecated
     */
    set samplingRuleUpdate(value: cdk.IResolvable | CfnSamplingRule.SamplingRuleUpdateProperty | undefined);
    /**
     * An array of key-value pairs to apply to this resource.
     */
    get tags(): Array<cdk.CfnTag> | undefined;
    /**
     * An array of key-value pairs to apply to this resource.
     */
    set tags(value: Array<cdk.CfnTag> | undefined);
    /**
     * The sampling rule ARN that was created or updated.
     *
     * @cloudformationAttribute RuleARN
     */
    get attrRuleArn(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnSamplingRule {
    /**
     * A sampling rule that services use to decide whether to instrument a request.
     *
     * Rule fields can match properties of the service, or properties of a request. The service can ignore rules that don't match its properties.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrule.html
     */
    interface SamplingRuleProperty {
        /**
         * Matches attributes derived from the request.
         *
         * *Map Entries:* Maximum number of 5 items.
         *
         * *Key Length Constraints:* Minimum length of 1. Maximum length of 32.
         *
         * *Value Length Constraints:* Minimum length of 1. Maximum length of 32.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrule.html#cfn-xray-samplingrule-samplingrule-attributes
         */
        readonly attributes?: cdk.IResolvable | Record<string, string>;
        /**
         * The percentage of matching requests to instrument, after the reservoir is exhausted.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrule.html#cfn-xray-samplingrule-samplingrule-fixedrate
         */
        readonly fixedRate: number;
        /**
         * Matches the hostname from a request URL.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrule.html#cfn-xray-samplingrule-samplingrule-host
         */
        readonly host: string;
        /**
         * Matches the HTTP method of a request.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrule.html#cfn-xray-samplingrule-samplingrule-httpmethod
         */
        readonly httpMethod: string;
        /**
         * The priority of the sampling rule.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrule.html#cfn-xray-samplingrule-samplingrule-priority
         */
        readonly priority: number;
        /**
         * A fixed number of matching requests to instrument per second, prior to applying the fixed rate.
         *
         * The reservoir is not used directly by services, but applies to all services using the rule collectively.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrule.html#cfn-xray-samplingrule-samplingrule-reservoirsize
         */
        readonly reservoirSize: number;
        /**
         * Matches the ARN of the AWS resource on which the service runs.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrule.html#cfn-xray-samplingrule-samplingrule-resourcearn
         */
        readonly resourceArn: string;
        /**
         * The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.
         *
         * > Specifying a sampling rule by name is recommended, as specifying by ARN will be deprecated in future.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrule.html#cfn-xray-samplingrule-samplingrule-rulearn
         */
        readonly ruleArn?: string;
        /**
         * The name of the sampling rule.
         *
         * Specify a rule by either name or ARN, but not both.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrule.html#cfn-xray-samplingrule-samplingrule-rulename
         */
        readonly ruleName?: string;
        /**
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrule.html#cfn-xray-samplingrule-samplingrule-samplingrateboost
         */
        readonly samplingRateBoost?: cdk.IResolvable | CfnSamplingRule.SamplingRateBoostProperty;
        /**
         * Matches the `name` that the service uses to identify itself in segments.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrule.html#cfn-xray-samplingrule-samplingrule-servicename
         */
        readonly serviceName: string;
        /**
         * Matches the `origin` that the service uses to identify its type in segments.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrule.html#cfn-xray-samplingrule-samplingrule-servicetype
         */
        readonly serviceType: string;
        /**
         * Matches the path from a request URL.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrule.html#cfn-xray-samplingrule-samplingrule-urlpath
         */
        readonly urlPath: string;
        /**
         * The version of the sampling rule.
         *
         * `Version` can only be set when creating a new sampling rule.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrule.html#cfn-xray-samplingrule-samplingrule-version
         */
        readonly version?: number;
    }
    /**
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrateboost.html
     */
    interface SamplingRateBoostProperty {
        /**
         * Time window (in minutes) in which only one sampling rate boost can be triggered.
         *
         * After a boost occurs, no further boosts are allowed until the next window.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrateboost.html#cfn-xray-samplingrule-samplingrateboost-cooldownwindowminutes
         */
        readonly cooldownWindowMinutes: number;
        /**
         * The maximum sampling rate X-Ray will apply when it detects anomalies.
         *
         * X-Ray determines the appropriate rate between your baseline and the maximum, depending on anomaly activity.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrateboost.html#cfn-xray-samplingrule-samplingrateboost-maxrate
         */
        readonly maxRate: number;
    }
    /**
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrulerecord.html
     */
    interface SamplingRuleRecordProperty {
        /**
         * When the rule was created, in Unix time seconds.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrulerecord.html#cfn-xray-samplingrule-samplingrulerecord-createdat
         */
        readonly createdAt?: string;
        /**
         * When the rule was modified, in Unix time seconds.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrulerecord.html#cfn-xray-samplingrule-samplingrulerecord-modifiedat
         */
        readonly modifiedAt?: string;
        /**
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingrulerecord.html#cfn-xray-samplingrule-samplingrulerecord-samplingrule
         */
        readonly samplingRule?: cdk.IResolvable | CfnSamplingRule.SamplingRuleProperty;
    }
    /**
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingruleupdate.html
     */
    interface SamplingRuleUpdateProperty {
        /**
         * Matches attributes derived from the request.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingruleupdate.html#cfn-xray-samplingrule-samplingruleupdate-attributes
         */
        readonly attributes?: cdk.IResolvable | Record<string, string>;
        /**
         * The percentage of matching requests to instrument, after the reservoir is exhausted.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingruleupdate.html#cfn-xray-samplingrule-samplingruleupdate-fixedrate
         */
        readonly fixedRate?: number;
        /**
         * Matches the hostname from a request URL.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingruleupdate.html#cfn-xray-samplingrule-samplingruleupdate-host
         */
        readonly host?: string;
        /**
         * Matches the HTTP method from a request URL.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingruleupdate.html#cfn-xray-samplingrule-samplingruleupdate-httpmethod
         */
        readonly httpMethod?: string;
        /**
         * The priority of the sampling rule.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingruleupdate.html#cfn-xray-samplingrule-samplingruleupdate-priority
         */
        readonly priority?: number;
        /**
         * A fixed number of matching requests to instrument per second, prior to applying the fixed rate.
         *
         * The reservoir is not used directly by services, but applies to all services using the rule collectively.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingruleupdate.html#cfn-xray-samplingrule-samplingruleupdate-reservoirsize
         */
        readonly reservoirSize?: number;
        /**
         * Matches the ARN of the AWS resource on which the service runs.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingruleupdate.html#cfn-xray-samplingrule-samplingruleupdate-resourcearn
         */
        readonly resourceArn?: string;
        /**
         * The ARN of the sampling rule.
         *
         * Specify a rule by either name or ARN, but not both.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingruleupdate.html#cfn-xray-samplingrule-samplingruleupdate-rulearn
         */
        readonly ruleArn?: string;
        /**
         * The ARN of the sampling rule.
         *
         * Specify a rule by either name or ARN, but not both.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingruleupdate.html#cfn-xray-samplingrule-samplingruleupdate-rulename
         */
        readonly ruleName?: string;
        /**
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingruleupdate.html#cfn-xray-samplingrule-samplingruleupdate-samplingrateboost
         */
        readonly samplingRateBoost?: cdk.IResolvable | CfnSamplingRule.SamplingRateBoostProperty;
        /**
         * Matches the name that the service uses to identify itself in segments.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingruleupdate.html#cfn-xray-samplingrule-samplingruleupdate-servicename
         */
        readonly serviceName?: string;
        /**
         * Matches the origin that the service uses to identify its type in segments.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingruleupdate.html#cfn-xray-samplingrule-samplingruleupdate-servicetype
         */
        readonly serviceType?: string;
        /**
         * Matches the path from a request URL.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-xray-samplingrule-samplingruleupdate.html#cfn-xray-samplingrule-samplingruleupdate-urlpath
         */
        readonly urlPath?: string;
    }
}
/**
 * Properties for defining a `CfnSamplingRule`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-samplingrule.html
 */
export interface CfnSamplingRuleProps {
    /**
     * The ARN of the sampling rule.
     *
     * Specify a rule by either name or ARN, but not both.
     *
     * @deprecated this property has been deprecated
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-samplingrule.html#cfn-xray-samplingrule-rulename
     */
    readonly ruleName?: string;
    /**
     * The sampling rule to be created or updated.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-samplingrule.html#cfn-xray-samplingrule-samplingrule
     */
    readonly samplingRule?: cdk.IResolvable | CfnSamplingRule.SamplingRuleProperty;
    /**
     * @deprecated this property has been deprecated
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-samplingrule.html#cfn-xray-samplingrule-samplingrulerecord
     */
    readonly samplingRuleRecord?: cdk.IResolvable | CfnSamplingRule.SamplingRuleRecordProperty;
    /**
     * @deprecated this property has been deprecated
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-samplingrule.html#cfn-xray-samplingrule-samplingruleupdate
     */
    readonly samplingRuleUpdate?: cdk.IResolvable | CfnSamplingRule.SamplingRuleUpdateProperty;
    /**
     * An array of key-value pairs to apply to this resource.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-samplingrule.html#cfn-xray-samplingrule-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
}
/**
 * This schema provides construct and validation rules for AWS-XRay TransactionSearchConfig resource parameters.
 *
 * @cloudformationResource AWS::XRay::TransactionSearchConfig
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-transactionsearchconfig.html
 */
export declare class CfnTransactionSearchConfig extends cdk.CfnResource implements cdk.IInspectable, ITransactionSearchConfigRef {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnTransactionSearchConfig from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnTransactionSearchConfig;
    /**
     * Checks whether the given object is a CfnTransactionSearchConfig
     */
    static isCfnTransactionSearchConfig(x: any): x is CfnTransactionSearchConfig;
    /**
     * Determines the percentage of traces indexed from CloudWatch Logs to X-Ray.
     */
    private _indexingPercentage?;
    /**
     * Create a new `AWS::XRay::TransactionSearchConfig`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props?: CfnTransactionSearchConfigProps);
    get transactionSearchConfigRef(): TransactionSearchConfigReference;
    /**
     * Determines the percentage of traces indexed from CloudWatch Logs to X-Ray.
     */
    get indexingPercentage(): number | undefined;
    /**
     * Determines the percentage of traces indexed from CloudWatch Logs to X-Ray.
     */
    set indexingPercentage(value: number | undefined);
    /**
     * User account id, used as the primary identifier for the resource
     *
     * @cloudformationAttribute AccountId
     */
    get attrAccountId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
 * Properties for defining a `CfnTransactionSearchConfig`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-transactionsearchconfig.html
 */
export interface CfnTransactionSearchConfigProps {
    /**
     * Determines the percentage of traces indexed from CloudWatch Logs to X-Ray.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-transactionsearchconfig.html#cfn-xray-transactionsearchconfig-indexingpercentage
     */
    readonly indexingPercentage?: number;
}
export type { IGroupRef, GroupReference };
export type { IResourcePolicyRef, ResourcePolicyReference };
export type { ISamplingRuleRef, SamplingRuleReference };
export type { ITransactionSearchConfigRef, TransactionSearchConfigReference };
