import { Value } from '../../cloudformation/Value';
import { FindingCriteriaProps } from './filter/FindingCriteriaProps';
import { Tag } from '../Tag';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  The <code>AWS::GuardDuty::Filter</code> resource specifies a new filter defined by the provided <code>findingCriteria</code>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html">the AWS Docs</a>
*/
export type Filter = AwsResource<'AWS::GuardDuty::Filter', FilterProperties>;
export declare function filter(filterProps: FilterProperties): Filter;
/**
  The <code>AWS::GuardDuty::Filter</code> resource specifies a new filter defined by the provided <code>findingCriteria</code>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html">the AWS Docs</a>
*/
export interface FilterProperties {
    /** <code>Action</code>  <a name="cfn-guardduty-filter-action"></a>
  Specifies the action that is to be applied to the findings that match the filter.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>ARCHIVE | NOOP</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> */
    action: Value<'ARCHIVE' | 'NOOP'>;
    /** <code>Description</code>  <a name="cfn-guardduty-filter-description"></a>
  The description of the filter. Valid characters include alphanumeric characters, and special characters such as hyphen, period, colon, underscore, parentheses (<code>{ }</code>, <code>[ ]</code>, and <code>( )</code>), forward slash, horizontal tab, vertical tab, newline, form feed, return, and whitespace.<br />
  
  Required: Yes<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>512</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> */
    description: Value<string>;
    /** <code>DetectorId</code>  <a name="cfn-guardduty-filter-detectorid"></a>
  The ID of the detector belonging to the GuardDuty account that you want to create a filter for.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>300</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> */
    detectorId: Value<string>;
    /** <code>FindingCriteria</code>  <a name="cfn-guardduty-filter-findingcriteria"></a>
  Represents the criteria to be used in the filter for querying findings.<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> */
    findingCriteria: FindingCriteriaProps;
    /** <code>Rank</code>  <a name="cfn-guardduty-filter-rank"></a>
  Specifies the position of the filter in the list of current filters. Also specifies the order in which this filter is applied to the findings. The minimum value for this property is 1 and the maximum is 100.<br />
  By default, filters may not be created in the same order as they are ranked. To ensure that the filters are created in the expected order, you can use an optional attribute, <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html">DependsOn</a>, with the following syntax: <code>&quot;DependsOn&quot;:[ &quot;ObjectName&quot; ]</code>.<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> */
    rank: Value<number>;
    /** <code>Tags</code>  <a name="cfn-guardduty-filter-tags"></a>
  The tags to be added to a new filter resource. Each tag consists of a key and an optional value, both of which you define.<br />
  For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html">Tag</a>.<br />
  
  Required: No<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> */
    tags?: Tag[];
    /** <code>Name</code>  <a name="cfn-guardduty-filter-name"></a>
  The name of the filter. Valid characters include period (.), underscore (_), dash (-), and alphanumeric characters. A whitespace is considered to be an invalid character.<br />
  
  Required: Yes<br />
  
  Minimum: <code>3</code><br />
  
  Maximum: <code>64</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> */
    name: Value<string>;
}
