import * as core from "@terrascript/core";
export interface FilterArgs extends core.SchemaArgs {
    jsonPath: string | core.StringOut;
    matchEquals: string | core.StringOut;
}
export declare class Filter extends core.Schema<FilterArgs> {
    jsonPath: string | core.StringOut;
    matchEquals: string | core.StringOut;
}
export interface AuthenticationConfigurationArgs extends core.SchemaArgs {
    allowedIpRange?: string | core.StringOut;
    secretToken?: string | core.StringOut;
}
export declare class AuthenticationConfiguration extends core.Schema<AuthenticationConfigurationArgs> {
    allowedIpRange?: string | core.StringOut;
    secretToken?: string | core.StringOut;
}
export interface WebhookArgs extends core.ResourceArgs {
    /**
     * (Required) The type of authentication  to use. One of `IP`, `GITHUB_HMAC`, or `UNAUTHENTICATED`.
     */
    authentication: string | core.StringOut;
    /**
     * (Optional) An `auth` block. Required for `IP` and `GITHUB_HMAC`. Auth blocks are documented below.
     */
    authenticationConfiguration?: AuthenticationConfiguration;
    filter: core.Array<Filter> | core.ArrayOut<Filter>;
    /**
     * (Required) The name of the webhook.
     */
    name: string | core.StringOut;
    /**
     * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co
     * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co
     * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev
     * el.
     */
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    /**
     * A map of tags assigned to the resource, including those inherited from the provider [`default_tags`
     * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-
     * configuration-block).
     */
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    /**
     * (Required) 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.
     */
    targetAction: string | core.StringOut;
    /**
     * (Required) The name of the pipeline.
     */
    targetPipeline: string | core.StringOut;
}
export declare class Webhook extends core.Resource<WebhookArgs> {
    /**
     * The CodePipeline webhook's ARN.
     */
    arn: string | core.StringOut;
    /**
     * (Required) The type of authentication  to use. One of `IP`, `GITHUB_HMAC`, or `UNAUTHENTICATED`.
     */
    authentication: string | core.StringOut;
    /**
     * (Optional) An `auth` block. Required for `IP` and `GITHUB_HMAC`. Auth blocks are documented below.
     */
    authenticationConfiguration?: AuthenticationConfiguration;
    filter: core.Array<Filter> | core.ArrayOut<Filter>;
    /**
     * The CodePipeline webhook's ARN.
     */
    id: string | core.StringOut;
    /**
     * (Required) The name of the webhook.
     */
    name: string | core.StringOut;
    /**
     * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co
     * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co
     * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev
     * el.
     */
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    /**
     * A map of tags assigned to the resource, including those inherited from the provider [`default_tags`
     * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-
     * configuration-block).
     */
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    /**
     * (Required) 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.
     */
    targetAction: string | core.StringOut;
    /**
     * (Required) The name of the pipeline.
     */
    targetPipeline: string | core.StringOut;
    /**
     * The CodePipeline webhook's URL. POST events to this endpoint to trigger the target.
     */
    url: string | core.StringOut;
    constructor(name: string, args?: WebhookArgs);
    getNamespace(): string;
}
//# sourceMappingURL=webhook.d.ts.map