import { ResourceBase } from "../../resource";
import { Value, List, MapOf } from "../../data-types";
export declare class SqsParameters {
    MessageGroupId: Value<string>;
    constructor(properties: SqsParameters);
}
export declare class EcsParameters {
    Group?: Value<string>;
    LaunchType?: Value<string>;
    NetworkConfiguration?: NetworkConfiguration;
    PlatformVersion?: Value<string>;
    TaskCount?: Value<number>;
    TaskDefinitionArn: Value<string>;
    constructor(properties: EcsParameters);
}
export declare class NetworkConfiguration {
    AwsVpcConfiguration?: AwsVpcConfiguration;
    constructor(properties: NetworkConfiguration);
}
export declare class RunCommandParameters {
    RunCommandTargets: List<RunCommandTarget>;
    constructor(properties: RunCommandParameters);
}
export declare class BatchParameters {
    ArrayProperties?: BatchArrayProperties;
    JobDefinition: Value<string>;
    JobName: Value<string>;
    RetryStrategy?: BatchRetryStrategy;
    constructor(properties: BatchParameters);
}
export declare class InputTransformer {
    InputPathsMap?: MapOf<Value<string>>;
    InputTemplate: Value<string>;
    constructor(properties: InputTransformer);
}
export declare class RunCommandTarget {
    Key: Value<string>;
    Values: List<Value<string>>;
    constructor(properties: RunCommandTarget);
}
export declare class Target {
    BatchParameters?: BatchParameters;
    RoleArn?: Value<string>;
    RunCommandParameters?: RunCommandParameters;
    Input?: Value<string>;
    InputPath?: Value<string>;
    InputTransformer?: InputTransformer;
    KinesisParameters?: KinesisParameters;
    Id: Value<string>;
    Arn: Value<string>;
    SqsParameters?: SqsParameters;
    EcsParameters?: EcsParameters;
    constructor(properties: Target);
}
export declare class BatchArrayProperties {
    Size?: Value<number>;
    constructor(properties: BatchArrayProperties);
}
export declare class AwsVpcConfiguration {
    AssignPublicIp?: Value<string>;
    SecurityGroups?: List<Value<string>>;
    Subnets: List<Value<string>>;
    constructor(properties: AwsVpcConfiguration);
}
export declare class KinesisParameters {
    PartitionKeyPath: Value<string>;
    constructor(properties: KinesisParameters);
}
export declare class BatchRetryStrategy {
    Attempts?: Value<number>;
    constructor(properties: BatchRetryStrategy);
}
export interface RuleProperties {
    Description?: Value<string>;
    EventBusName?: Value<string>;
    EventPattern?: MapOf<any>;
    Name?: Value<string>;
    RoleArn?: Value<string>;
    ScheduleExpression?: Value<string>;
    State?: Value<string>;
    Targets?: List<Target>;
}
export default class Inner_Rule extends ResourceBase<RuleProperties> {
    static SqsParameters: typeof SqsParameters;
    static EcsParameters: typeof EcsParameters;
    static NetworkConfiguration: typeof NetworkConfiguration;
    static RunCommandParameters: typeof RunCommandParameters;
    static BatchParameters: typeof BatchParameters;
    static InputTransformer: typeof InputTransformer;
    static RunCommandTarget: typeof RunCommandTarget;
    static Target: typeof Target;
    static BatchArrayProperties: typeof BatchArrayProperties;
    static AwsVpcConfiguration: typeof AwsVpcConfiguration;
    static KinesisParameters: typeof KinesisParameters;
    static BatchRetryStrategy: typeof BatchRetryStrategy;
    constructor(properties: RuleProperties);
}
