import { ParsedDirective } from './types'; /** * Parser for compare directives * * Parses {{compare:action:arg1:arg2|transform1|transform2}} syntax */ export declare class CompareParser { /** * Check if a string contains a compare directive * * NOTE: This allows curly braces inside the directive (e.g., regex patterns with {5}) */ isDirective(value: string): boolean; /** * Find all compare directives in a string * * NOTE: This allows curly braces inside directives (e.g., regex patterns with {5}) */ findDirectives(content: string): string[]; /** * Parse a compare directive string * * Examples: * - {{compare:startsWith:Hello}} * - {{compare:time:range:±300:seconds}} * - {{compare:regex:user_\d+|toString}} */ parse(directive: string): ParsedDirective; /** * Parse a transform string * * Examples: * - toNumber → {name: 'toNumber', params: []} * - substring:0:10 → {name: 'substring', params: ['0', '10']} */ private parseTransform; /** * Split a string by colons, but not escaped colons (\:) * * Example: "a:b\:c:d" → ["a", "b:c", "d"] * * NOTE: Preserves backslashes that are NOT escaping colons * Example: "user_\d{5}" → ["user_\d{5}"] */ private splitByUnescapedColon; /** * Unescape a string (convert \: back to :, etc.) */ unescape(str: string): string; /** * Check if a string is a special keyword (exact, ignore, etc.) */ isKeyword(value: string): boolean; } //# sourceMappingURL=CompareParser.d.ts.map