import * as core from "@terrascript/core";
export interface NotificationPropertyArgs extends core.SchemaArgs {
    notifyDelayAfter?: number | core.NumberOut;
}
export declare class NotificationProperty extends core.Schema<NotificationPropertyArgs> {
    notifyDelayAfter?: number | core.NumberOut;
}
export interface ActionsArgs extends core.SchemaArgs {
    arguments?: core.Map<string, string> | core.MapOut<core.StringOut>;
    crawlerName?: string | core.StringOut;
    jobName?: string | core.StringOut;
    notificationProperty?: NotificationProperty;
    securityConfiguration?: string | core.StringOut;
    timeout?: number | core.NumberOut;
}
export declare class Actions extends core.Schema<ActionsArgs> {
    arguments?: core.Map<string, string> | core.MapOut<core.StringOut>;
    crawlerName?: string | core.StringOut;
    jobName?: string | core.StringOut;
    notificationProperty?: NotificationProperty;
    securityConfiguration?: string | core.StringOut;
    timeout?: number | core.NumberOut;
}
export interface ConditionsArgs extends core.SchemaArgs {
    crawlState?: string | core.StringOut;
    crawlerName?: string | core.StringOut;
    jobName?: string | core.StringOut;
    logicalOperator?: string | core.StringOut;
    state?: string | core.StringOut;
}
export declare class Conditions extends core.Schema<ConditionsArgs> {
    crawlState?: string | core.StringOut;
    crawlerName?: string | core.StringOut;
    jobName?: string | core.StringOut;
    logicalOperator?: string | core.StringOut;
    state?: string | core.StringOut;
}
export interface PredicateArgs extends core.SchemaArgs {
    conditions: core.Array<Conditions> | core.ArrayOut<Conditions>;
    logical?: string | core.StringOut;
}
export declare class Predicate extends core.Schema<PredicateArgs> {
    conditions: core.Array<Conditions> | core.ArrayOut<Conditions>;
    logical?: string | core.StringOut;
}
export interface EventBatchingConditionArgs extends core.SchemaArgs {
    batchSize: number | core.NumberOut;
    batchWindow?: number | core.NumberOut;
}
export declare class EventBatchingCondition extends core.Schema<EventBatchingConditionArgs> {
    batchSize: number | core.NumberOut;
    batchWindow?: number | core.NumberOut;
}
export interface TriggerArgs extends core.ResourceArgs {
    actions: core.Array<Actions> | core.ArrayOut<Actions>;
    description?: string | core.StringOut;
    enabled?: boolean | core.BooleanOut;
    eventBatchingCondition?: core.Array<EventBatchingCondition> | core.ArrayOut<EventBatchingCondition>;
    name: string | core.StringOut;
    predicate?: Predicate;
    schedule?: string | core.StringOut;
    startOnCreation?: boolean | core.BooleanOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    type: string | core.StringOut;
    workflowName?: string | core.StringOut;
}
export declare class Trigger extends core.Resource<TriggerArgs> {
    actions: core.Array<Actions> | core.ArrayOut<Actions>;
    arn: string | core.StringOut;
    description?: string | core.StringOut;
    enabled?: boolean | core.BooleanOut;
    eventBatchingCondition?: core.Array<EventBatchingCondition> | core.ArrayOut<EventBatchingCondition>;
    id: string | core.StringOut;
    name: string | core.StringOut;
    predicate?: Predicate;
    schedule?: string | core.StringOut;
    startOnCreation?: boolean | core.BooleanOut;
    state: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    type: string | core.StringOut;
    workflowName?: string | core.StringOut;
    constructor(name: string, args?: TriggerArgs);
    getNamespace(): string;
}
//# sourceMappingURL=trigger.d.ts.map