import type { ActuationRuleSpec, AttentionLike } from './rule-evaluate.js'; import type { OwnedTwin, TwinRunReport } from './rule-runner.js'; /** 이 트윈에 걸린 규칙 — 꺼 둔 것도 함께 준다(판정이 거른다. 「꺼져 있다」는 판정의 규율이다). */ export declare function rulesOf(twin: OwnedTwin): Promise; /** * 이 트윈이 관측을 비추나 가정을 돌리나 — 조치를 낼 수 있는지가 여기서 갈린다. * * 판정과 같은 술어를 쓴다(`TwinEngine.modeOf`). 두 벌이면 어긋난다. */ export declare function modeOf(twin: OwnedTwin): 'live' | 'sim' | undefined; /** * 지금 서 있는 주의들 — **못 읽으면 `undefined`.** * * 빈 배열로 답하지 않는다. 멈춘 트윈을 「조건이 하나도 없다」로 읽으면 규칙이 도는 줄로 보인다. * 주의 질의와 같은 원천을 쓴다(§`twin-attention-query.ts`) — 두 곳이 다른 것을 보면 화면에 보이는 * 조건과 규칙이 보는 조건이 어긋난다. */ export declare function attentionsOf(twin: OwnedTwin): AttentionLike[] | undefined; /** * 돈 결과를 규칙 행에 남긴다 — **조용히 안 도는 규칙과 조건이 없어서 안 내는 규칙을 구별하려면 필요하다.** * * 이 트윈의 모든 규칙에 `lastRunAt` 을 찍는다. 이유는 그 규칙 것만 적는다. */ export declare function noteRun(twin: OwnedTwin, report: TwinRunReport): Promise;