import { WebhookAuthConfigurationProps } from './webhook/WebhookAuthConfigurationProps';
import { WebhookFilterRuleProps } from './webhook/WebhookFilterRuleProps';
import { Value } from '../../cloudformation/Value';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type WebhookAttributes = {
    Url: Attribute<string>;
};
export type Webhook = AwsResource<'AWS::CodePipeline::Webhook', WebhookProperties, WebhookAttributes>;
/**
  The <code>AWS::CodePipeline::Webhook</code> resource creates and registers your webhook. After the webhook is created and registered, it triggers your pipeline to start every time an external event occurs. For more information, see <a href="https://docs.aws.amazon.com/codepipeline/latest/userguide/update-change-detection.html">Migrate polling pipelines to use event-based change detection</a> in the <em>AWS CodePipeline User Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html">the AWS Docs</a>
*/
export declare function webhook(webhookProps: WebhookProperties): Webhook;
/**
  The <code>AWS::CodePipeline::Webhook</code> resource creates and registers your webhook. After the webhook is created and registered, it triggers your pipeline to start every time an external event occurs. For more information, see <a href="https://docs.aws.amazon.com/codepipeline/latest/userguide/update-change-detection.html">Migrate polling pipelines to use event-based change detection</a> in the <em>AWS CodePipeline User Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html">the AWS Docs</a>
*/
export interface WebhookProperties {
    /** <code>AuthenticationConfiguration</code>  <a name="cfn-codepipeline-webhook-authenticationconfiguration"></a>
  Properties that configure the authentication applied to incoming webhook trigger requests. The required properties depend on the authentication type. For GITHUB_HMAC, only the <code>SecretToken </code>property must be set. For IP, only the <code>AllowedIPRange </code>property must be set to a valid CIDR range. For UNAUTHENTICATED, no properties can be set.<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> */
    authenticationConfiguration: WebhookAuthConfigurationProps;
    /** <code>Filters</code>  <a name="cfn-codepipeline-webhook-filters"></a>
  A list of rules applied to the body/payload sent in the POST request to a webhook URL. All defined rules must pass for the request to be accepted and the pipeline started.<br />
  
  Required: Yes<br />
  
  Maximum: <code>5</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> */
    filters: WebhookFilterRuleProps[];
    /** <p> */
    authentication: Value<string>;
    /** <code>TargetPipeline</code>  <a name="cfn-codepipeline-webhook-targetpipeline"></a>
  The name of the pipeline you want to connect to the webhook.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>100</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-no-interrupt">No interruption</a> */
    targetPipeline: Value<string>;
    /** <code>TargetAction</code>  <a name="cfn-codepipeline-webhook-targetaction"></a>
  The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>100</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-no-interrupt">No interruption</a> */
    targetAction: Value<string>;
    /** <code>Name</code>  <a name="cfn-codepipeline-webhook-name"></a>
  The name of the webhook.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>100</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> */
    name?: Value<string>;
    /** <code>TargetPipelineVersion</code>  <a name="cfn-codepipeline-webhook-targetpipelineversion"></a>
  The version number of the pipeline to be connected to the trigger request.<br />
  Required: Yes<br />
  Type: Integer<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><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> */
    targetPipelineVersion: Value<number>;
    /** <code>RegisterWithThirdParty</code>  <a name="cfn-codepipeline-webhook-registerwiththirdparty"></a>
  Configures a connection between the webhook that was created and the external tool with events to be detected.<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> */
    registerWithThirdParty?: Value<boolean>;
}
