import * as core from "@terrascript/core";
export interface RedshiftTargetArgs extends core.SchemaArgs {
    database: string | core.StringOut;
    dbUser?: string | core.StringOut;
    secretsManagerArn?: string | core.StringOut;
    sql?: string | core.StringOut;
    statementName?: string | core.StringOut;
    withEvent?: boolean | core.BooleanOut;
}
export declare class RedshiftTarget extends core.Schema<RedshiftTargetArgs> {
    database: string | core.StringOut;
    dbUser?: string | core.StringOut;
    secretsManagerArn?: string | core.StringOut;
    sql?: string | core.StringOut;
    statementName?: string | core.StringOut;
    withEvent?: boolean | core.BooleanOut;
}
export interface InputTransformerArgs extends core.SchemaArgs {
    inputPaths?: core.Map<string, string> | core.MapOut<core.StringOut>;
    inputTemplate: string | core.StringOut;
}
export declare class InputTransformer extends core.Schema<InputTransformerArgs> {
    inputPaths?: core.Map<string, string> | core.MapOut<core.StringOut>;
    inputTemplate: string | core.StringOut;
}
export interface BatchTargetArgs extends core.SchemaArgs {
    arraySize?: number | core.NumberOut;
    jobAttempts?: number | core.NumberOut;
    jobDefinition: string | core.StringOut;
    jobName: string | core.StringOut;
}
export declare class BatchTarget extends core.Schema<BatchTargetArgs> {
    arraySize?: number | core.NumberOut;
    jobAttempts?: number | core.NumberOut;
    jobDefinition: string | core.StringOut;
    jobName: string | core.StringOut;
}
export interface KinesisTargetArgs extends core.SchemaArgs {
    partitionKeyPath?: string | core.StringOut;
}
export declare class KinesisTarget extends core.Schema<KinesisTargetArgs> {
    partitionKeyPath?: string | core.StringOut;
}
export interface RetryPolicyArgs extends core.SchemaArgs {
    maximumEventAgeInSeconds?: number | core.NumberOut;
    maximumRetryAttempts?: number | core.NumberOut;
}
export declare class RetryPolicy extends core.Schema<RetryPolicyArgs> {
    maximumEventAgeInSeconds?: number | core.NumberOut;
    maximumRetryAttempts?: number | core.NumberOut;
}
export interface DeadLetterConfigArgs extends core.SchemaArgs {
    arn?: string | core.StringOut;
}
export declare class DeadLetterConfig extends core.Schema<DeadLetterConfigArgs> {
    arn?: string | core.StringOut;
}
export interface HttpTargetArgs extends core.SchemaArgs {
    headerParameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
    pathParameterValues?: core.Array<string> | core.ArrayOut<core.StringOut>;
    queryStringParameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class HttpTarget extends core.Schema<HttpTargetArgs> {
    headerParameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
    pathParameterValues?: core.Array<string> | core.ArrayOut<core.StringOut>;
    queryStringParameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export interface SqsTargetArgs extends core.SchemaArgs {
    messageGroupId?: string | core.StringOut;
}
export declare class SqsTarget extends core.Schema<SqsTargetArgs> {
    messageGroupId?: string | core.StringOut;
}
export interface RunCommandTargetsArgs extends core.SchemaArgs {
    key: string | core.StringOut;
    values: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class RunCommandTargets extends core.Schema<RunCommandTargetsArgs> {
    key: string | core.StringOut;
    values: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface PlacementConstraintArgs extends core.SchemaArgs {
    expression?: string | core.StringOut;
    type: string | core.StringOut;
}
export declare class PlacementConstraint extends core.Schema<PlacementConstraintArgs> {
    expression?: string | core.StringOut;
    type: string | core.StringOut;
}
export interface NetworkConfigurationArgs extends core.SchemaArgs {
    assignPublicIp?: boolean | core.BooleanOut;
    securityGroups?: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnets: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class NetworkConfiguration extends core.Schema<NetworkConfigurationArgs> {
    assignPublicIp?: boolean | core.BooleanOut;
    securityGroups?: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnets: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface EcsTargetArgs extends core.SchemaArgs {
    enableEcsManagedTags?: boolean | core.BooleanOut;
    enableExecuteCommand?: boolean | core.BooleanOut;
    group?: string | core.StringOut;
    launchType?: string | core.StringOut;
    networkConfiguration?: NetworkConfiguration;
    placementConstraint?: core.Array<PlacementConstraint> | core.ArrayOut<PlacementConstraint>;
    platformVersion?: string | core.StringOut;
    propagateTags?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    taskCount?: number | core.NumberOut;
    taskDefinitionArn: string | core.StringOut;
}
export declare class EcsTarget extends core.Schema<EcsTargetArgs> {
    enableEcsManagedTags?: boolean | core.BooleanOut;
    enableExecuteCommand?: boolean | core.BooleanOut;
    group?: string | core.StringOut;
    launchType?: string | core.StringOut;
    networkConfiguration?: NetworkConfiguration;
    placementConstraint?: core.Array<PlacementConstraint> | core.ArrayOut<PlacementConstraint>;
    platformVersion?: string | core.StringOut;
    propagateTags?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    taskCount?: number | core.NumberOut;
    taskDefinitionArn: string | core.StringOut;
}
export interface CloudwatchEventTargetArgs extends core.ResourceArgs {
    arn: string | core.StringOut;
    batchTarget?: BatchTarget;
    deadLetterConfig?: DeadLetterConfig;
    ecsTarget?: EcsTarget;
    eventBusName?: string | core.StringOut;
    httpTarget?: HttpTarget;
    input?: string | core.StringOut;
    inputPath?: string | core.StringOut;
    inputTransformer?: InputTransformer;
    kinesisTarget?: KinesisTarget;
    redshiftTarget?: RedshiftTarget;
    retryPolicy?: RetryPolicy;
    roleArn?: string | core.StringOut;
    rule: string | core.StringOut;
    runCommandTargets?: core.Array<RunCommandTargets> | core.ArrayOut<RunCommandTargets>;
    sqsTarget?: SqsTarget;
    targetId?: string | core.StringOut;
}
export declare class CloudwatchEventTarget extends core.Resource<CloudwatchEventTargetArgs> {
    arn: string | core.StringOut;
    batchTarget?: BatchTarget;
    deadLetterConfig?: DeadLetterConfig;
    ecsTarget?: EcsTarget;
    eventBusName?: string | core.StringOut;
    httpTarget?: HttpTarget;
    id: string | core.StringOut;
    input?: string | core.StringOut;
    inputPath?: string | core.StringOut;
    inputTransformer?: InputTransformer;
    kinesisTarget?: KinesisTarget;
    redshiftTarget?: RedshiftTarget;
    retryPolicy?: RetryPolicy;
    roleArn?: string | core.StringOut;
    rule: string | core.StringOut;
    runCommandTargets?: core.Array<RunCommandTargets> | core.ArrayOut<RunCommandTargets>;
    sqsTarget?: SqsTarget;
    targetId?: string | core.StringOut;
    constructor(name: string, args?: CloudwatchEventTargetArgs);
    getNamespace(): string;
}
//# sourceMappingURL=cloudwatch_event_target.d.ts.map