import type { PropertyTriggerConfig, NLPTriggersConfig, UserMappedField } from "./types.js"; /** * Service for managing and querying NLP trigger configurations */ export declare class TriggerConfigService { private config; private userFields; private triggerMap; private propertyMap; constructor(config: NLPTriggersConfig, userFields?: UserMappedField[]); /** * Build lookup maps for efficient queries */ private buildMaps; /** * Get trigger config for a specific property */ getTriggerForProperty(propertyId: string): PropertyTriggerConfig | undefined; /** * Get property ID for a trigger string */ getPropertyForTrigger(trigger: string): string | undefined; /** * Get all enabled triggers */ getAllEnabledTriggers(): PropertyTriggerConfig[]; /** * Get all enabled triggers sorted by trigger length (longest first) * This ensures multi-character triggers are matched before single-character ones */ getTriggersOrderedByLength(): PropertyTriggerConfig[]; /** * Check if a trigger is using Obsidian's native tag suggester */ usesNativeTagSuggester(): boolean; /** * Get the trigger string for tags (or undefined if disabled) */ getTagTrigger(): string | undefined; /** * Get the trigger string for contexts (or undefined if disabled) */ getContextTrigger(): string | undefined; /** * Get the trigger string for projects (or undefined if disabled) */ getProjectTrigger(): string | undefined; /** * Get the trigger string for status (or undefined if disabled) */ getStatusTrigger(): string | undefined; /** * Get the trigger string for priority (or undefined if disabled) */ getPriorityTrigger(): string | undefined; /** * Get user field definition by ID */ getUserField(fieldId: string): UserMappedField | undefined; /** * Check if a property ID is a user-defined field */ isUserField(propertyId: string): boolean; /** * Determine suggester type for a property */ getSuggesterType(propertyId: string): "list" | "file" | "status" | "priority" | "native-tag" | "boolean" | "none"; /** * Update the configuration (rebuilds internal maps) */ updateConfig(config: NLPTriggersConfig): void; /** * Update user fields (rebuilds internal maps if needed) */ updateUserFields(userFields: UserMappedField[]): void; } //# sourceMappingURL=TriggerConfigService.d.ts.map