import { Value } from '../../../cloudformation/Value';
import { TopicSingularFilterConstantProps } from './TopicSingularFilterConstantProps';
/**
  A structure that represents a relative date filter.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-topic-topicrelativedatefilter.html">the AWS Docs</a>
*/
export interface TopicRelativeDateFilterProps {
    /** <code>RelativeDateFilterFunction</code>  <a name="cfn-quicksight-topic-topicrelativedatefilter-relativedatefilterfunction"></a>
  The function to be used in a relative date filter to determine the range of dates to include in the results. Valid values for this structure are <code>BEFORE</code>, <code>AFTER</code>, and <code>BETWEEN</code>.<br />
  
  Required: No<br />
  
  Allowed values: <code>LAST | NEXT | NOW | PREVIOUS | THIS</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> */
    relativeDateFilterFunction?: Value<'LAST' | 'NEXT' | 'NOW' | 'PREVIOUS' | 'THIS'>;
    /** <code>Constant</code>  <a name="cfn-quicksight-topic-topicrelativedatefilter-constant"></a>
  The constant used in a relative date filter.<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> */
    constant?: TopicSingularFilterConstantProps;
    /** <code>TimeGranularity</code>  <a name="cfn-quicksight-topic-topicrelativedatefilter-timegranularity"></a>
  The level of time precision that is used to aggregate <code>DateTime</code> values.<br />
  
  Required: No<br />
  
  Allowed values: <code>DAY | HOUR | MINUTE | MONTH | QUARTER | SECOND | WEEK | YEAR</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> */
    timeGranularity?: Value<'DAY' | 'HOUR' | 'MINUTE' | 'MONTH' | 'QUARTER' | 'SECOND' | 'WEEK' | 'YEAR'>;
}
