/**
 * Trigger Rule Engine.
 *
 * Subscribes to ingestor `'event'` emissions and evaluates trigger rules
 * against each event. When a rule matches, dispatches the event to the
 * configured Claude Code remote trigger.
 *
 * Features:
 * - Source + event type + dot-path filter matching
 * - Token-bucket rate limiting per rule
 * - Deduplication within the throttle window
 * - Graceful error handling (dispatch failures never crash ingestors)
 * - Audit logging for all dispatch attempts
 */
import type { IngestedEvent } from '../ingestors/types.js';
import type { TriggerRule, TriggerDispatchResult } from './types.js';
export declare class TriggerRuleEngine {
    private readonly rules;
    private readonly secrets;
    private readonly ruleStates;
    /** Recent dispatch results for diagnostics. */
    private readonly dispatchLog;
    private static readonly MAX_DISPATCH_LOG;
    constructor(rules: TriggerRule[], secrets: Record<string, string>);
    /** Handle an ingestor event — evaluate all rules and dispatch matches. */
    handleEvent(event: IngestedEvent): void;
    /** Get recent dispatch results for diagnostics. */
    getDispatchLog(): readonly TriggerDispatchResult[];
    /** Get the number of active rules. */
    get activeRuleCount(): number;
    /** Check if an event matches a rule's criteria. */
    private matches;
    /** Check and update throttle state. Returns true if the dispatch should proceed. */
    private checkThrottle;
    /** Dispatch an event to the rule's target. Never throws. */
    private dispatch;
    /** Record a dispatch result in the audit log. */
    private logDispatch;
}
//# sourceMappingURL=rule-engine.d.ts.map