import { AutomationTriggerMatch } from '../../automations/types/api/triggers';
import { Require } from '../../types/utilities';
export declare const automationTriggerEventPosture: readonly ["Reactive", "Proactive"], isAutomationTriggerEventPosture: (value: unknown) => value is "Reactive" | "Proactive";
export declare const DEFAULT_EVENT_TRIGGER_WITHIN = 0;
export declare const DEFAULT_EVENT_TRIGGER_THRESHOLD = 1;
export type AutomationTriggerEventPosture = typeof automationTriggerEventPosture[number];
export declare function getAutomationTriggerEventPostureLabel(posture: AutomationTriggerEventPosture): string;
export type IAutomationTriggerEvent = {
    posture: AutomationTriggerEventPosture;
    match: AutomationTriggerMatch;
    matchRelated: AutomationTriggerMatch;
    forEach: string[];
    after: string[];
    expect: string[];
    threshold: number;
    within?: number | undefined;
};
export declare class AutomationTriggerEvent implements IAutomationTriggerEvent {
    readonly type = "event";
    posture: AutomationTriggerEventPosture;
    match: AutomationTriggerMatch;
    matchRelated: AutomationTriggerMatch;
    forEach: string[];
    after: string[];
    expect: string[];
    threshold: number;
    within: number;
    constructor(trigger: Require<Partial<IAutomationTriggerEvent>, 'posture'>);
}
