/** * @fileoverview DeterministicTranslator (SPEC Section 6.2) * * Rule-based extraction for testing. * * Per G-INV-*: * - G-INV-1: Node IDs are unique within graph * - G-INV-2: All dependsOn IDs exist in graph * - G-INV-3: Graph is a DAG (no cycles) * - G-INV-4: Non-abstract nodes SHALL NOT depend on abstract nodes * * @module strategies/translate/deterministic */ import type { IntentGraph, IntentNode } from "../../core/types/intent-graph.js"; import type { TranslateStrategy, TranslateOptions } from "../../core/interfaces/translator.js"; /** * Configuration for DeterministicTranslator. */ export interface DeterministicTranslatorConfig { /** Custom pattern extractors */ patterns?: PatternExtractor[]; } /** * Pattern extractor for deterministic translation. */ export interface PatternExtractor { /** Pattern to match */ pattern: RegExp; /** Extract intent from match */ extract: (match: RegExpMatchArray, text: string) => Partial | null; } /** * Rule-based extraction for testing. * * Per SPEC Section 6.2: * - Uses pattern matching for intent extraction * - Deterministic output for testing * - No LLM dependency */ export declare class DeterministicTranslator implements TranslateStrategy { readonly name = "DeterministicTranslator"; private readonly patterns; constructor(config?: DeterministicTranslatorConfig); translate(text: string, options?: TranslateOptions): Promise; } //# sourceMappingURL=deterministic.d.ts.map