import { ResourceBase, ResourceTag as Inner_ResourceTag } from "../../resource";
import { Value, List, MapOf } from "../../data-types";
export declare class Datastore {
    DatastoreName?: Value<string>;
    Name?: Value<string>;
    constructor(properties: Datastore);
}
export declare class AddAttributes {
    Next?: Value<string>;
    Attributes?: MapOf<any>;
    Name?: Value<string>;
    constructor(properties: AddAttributes);
}
export declare class Activity {
    Channel?: Channel;
    Lambda?: Lambda;
    Math?: Math;
    SelectAttributes?: SelectAttributes;
    Datastore?: Datastore;
    AddAttributes?: AddAttributes;
    Filter?: Filter;
    DeviceRegistryEnrich?: DeviceRegistryEnrich;
    RemoveAttributes?: RemoveAttributes;
    DeviceShadowEnrich?: DeviceShadowEnrich;
    constructor(properties: Activity);
}
export declare class SelectAttributes {
    Next?: Value<string>;
    Attributes?: List<Value<string>>;
    Name?: Value<string>;
    constructor(properties: SelectAttributes);
}
export declare class Channel {
    ChannelName?: Value<string>;
    Next?: Value<string>;
    Name?: Value<string>;
    constructor(properties: Channel);
}
export declare class DeviceRegistryEnrich {
    Attribute?: Value<string>;
    Next?: Value<string>;
    ThingName?: Value<string>;
    RoleArn?: Value<string>;
    Name?: Value<string>;
    constructor(properties: DeviceRegistryEnrich);
}
export declare class Filter {
    Filter?: Value<string>;
    Next?: Value<string>;
    Name?: Value<string>;
    constructor(properties: Filter);
}
export declare class DeviceShadowEnrich {
    Attribute?: Value<string>;
    Next?: Value<string>;
    ThingName?: Value<string>;
    RoleArn?: Value<string>;
    Name?: Value<string>;
    constructor(properties: DeviceShadowEnrich);
}
export declare class RemoveAttributes {
    Next?: Value<string>;
    Attributes?: List<Value<string>>;
    Name?: Value<string>;
    constructor(properties: RemoveAttributes);
}
export declare class Lambda {
    BatchSize?: Value<number>;
    Next?: Value<string>;
    LambdaName?: Value<string>;
    Name?: Value<string>;
    constructor(properties: Lambda);
}
export declare class Math {
    Attribute?: Value<string>;
    Next?: Value<string>;
    Math?: Value<string>;
    Name?: Value<string>;
    constructor(properties: Math);
}
export interface PipelineProperties {
    PipelineName?: Value<string>;
    Tags?: List<Inner_ResourceTag>;
    PipelineActivities: List<Activity>;
}
export default class Inner_Pipeline extends ResourceBase<PipelineProperties> {
    static Datastore: typeof Datastore;
    static AddAttributes: typeof AddAttributes;
    static Activity: typeof Activity;
    static SelectAttributes: typeof SelectAttributes;
    static Channel: typeof Channel;
    static DeviceRegistryEnrich: typeof DeviceRegistryEnrich;
    static Filter: typeof Filter;
    static DeviceShadowEnrich: typeof DeviceShadowEnrich;
    static RemoveAttributes: typeof RemoveAttributes;
    static Lambda: typeof Lambda;
    static Math: typeof Math;
    constructor(properties: PipelineProperties);
}
