import { EnumActionCode } from '../enum-interfaces/action-code.enum'; import { EnumRCodeForward } from './r-code.enum'; export interface IIntentNarrationContext { locale: 'vi' | 'en'; /** Raw facts from intent input */ facts: Record; /** Resolved human-readable references */ resolved: Record; /** Temporal interpretation */ temporal: { /** Civil date, thường dùng cho CREATE */ localDate?: string; /** Canonical IANA timezone */ timezoneId?: string; /** Effective window – dùng cho LINK_, SET_ */ effective?: { from?: string; to?: string; }; /** Moment semantics (optional, advanced) */ mode?: 'POINT' | 'RANGE'; }; } export interface INarrationClause { when(ctx: IIntentNarrationContext): boolean; render(ctx: IIntentNarrationContext): string; } export interface IIntentGrammar { intentCode: EnumActionCode; /** Optional R_CODE constraint for this grammar */ rCode?: EnumRCodeForward; subject(ctx: IIntentNarrationContext): string; clauses?: ReadonlyArray; } export interface IIntentGrammar { intentCode: EnumActionCode; subject(ctx: IIntentNarrationContext): string; clauses?: ReadonlyArray; } export declare function narrateIntent(grammar: IIntentGrammar, ctx: IIntentNarrationContext): string; export declare const CREATE_TREE_GRAMMAR: IIntentGrammar; export declare const CREATE_O_GRAMMAR: IIntentGrammar; export declare const CREATE_S_GRAMMAR: IIntentGrammar; export declare const LINK_O_O_GRAMMAR: IIntentGrammar;