import type { ElementDefinition } from '../types/IndexTypes.js';
export interface TriggerExtractionConfig {
    limits: {
        maxTriggersPerElement: number;
        maxTriggerLength: number;
        maxKeywordsToCheck: number;
    };
    verbPrefixes: Record<string, string[]>;
    verbSuffixes: string[];
    nounSuffixes: string[];
    telemetry: {
        enabled: boolean;
        sampleRate: number;
        metricsInterval: number;
    };
}
export interface TriggerExtractionPatterns {
    verbPrefixPattern: RegExp;
    verbSuffixPattern: RegExp;
    nounSuffixPattern: RegExp;
}
export interface TriggerExtractionResult {
    triggers: string[];
    extractedCount: number;
}
export interface ActionTriggerExtractorContext {
    getConfig: () => TriggerExtractionConfig;
    getPatterns: () => TriggerExtractionPatterns;
}
export declare class ActionTriggerExtractor {
    private readonly context;
    constructor(context: ActionTriggerExtractorContext);
    extract(elementDef: ElementDefinition | null | undefined, elementName: string): TriggerExtractionResult;
    private extractFromSearchField;
    private extractFromActions;
    private extractFromKeywords;
    private normalizeToArray;
    private normalizeTrigger;
    private hasReachedTriggerLimit;
    private looksLikeVerb;
}
//# sourceMappingURL=ActionTriggerExtractor.d.ts.map