import { MetricTransformationProps } from './metricfilter/MetricTransformationProps';
import { Value } from '../../cloudformation/Value';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  The <code>AWS::Logs::MetricFilter</code> resource specifies a metric filter that describes how CloudWatch Logs extracts information from logs and transforms it into Amazon CloudWatch metrics. If you have multiple metric filters that are associated with a log group, all the filters are applied to the log streams in that group.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html">the AWS Docs</a>
*/
export type MetricFilter = AwsResource<'AWS::Logs::MetricFilter', MetricFilterProperties>;
export declare function metricFilter(metricFilterProps: MetricFilterProperties): MetricFilter;
/**
  The <code>AWS::Logs::MetricFilter</code> resource specifies a metric filter that describes how CloudWatch Logs extracts information from logs and transforms it into Amazon CloudWatch metrics. If you have multiple metric filters that are associated with a log group, all the filters are applied to the log streams in that group.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html">the AWS Docs</a>
*/
export interface MetricFilterProperties {
    /** <code>MetricTransformations</code>  <a name="cfn-logs-metricfilter-metrictransformations"></a>
  The metric transformations.<br />
  
  Required: Yes<br />
  
  Maximum: <code>1</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    metricTransformations: MetricTransformationProps[];
    /** <code>FilterPattern</code>  <a name="cfn-logs-metricfilter-filterpattern"></a>
  A filter pattern for extracting metric data out of ingested log events. For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html">Filter and Pattern Syntax</a>.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    filterPattern: Value<string>;
    /** <code>LogGroupName</code>  <a name="cfn-logs-metricfilter-loggroupname"></a>
  The name of an existing log group that you want to associate with this metric filter.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>512</code><br />
  
  Pattern: <code>[\.\-_/#A-Za-z0-9]+</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    logGroupName: Value<string>;
    /** <code>FilterName</code>  <a name="cfn-logs-metricfilter-filtername"></a>
  The name of the metric filter.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>512</code><br />
  
  Pattern: <code>[^:*]*</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    filterName?: Value<string>;
}
