import type { WorkItemRow } from '../storage/domains/work-items/base.js'; import type { BoardPhaseKind, BoardToolResultRuleHandler } from './define-board.js'; import type { BoardRegistry } from './registry.js'; export interface PhaseSemantics { readonly kind: BoardPhaseKind; /** Seat that carries a working phase; absent for resting and terminal phases. */ readonly role?: string; } /** * Board that owns a work item. Rows created before boards were persisted carry no `board`; * they belong to Review when they track a pull request and to Work otherwise, matching the * legacy assignment the transition service performs on their next move. */ export declare function boardForWorkItem(item: Pick): string; /** * What the installed board says `phase` means. Returns undefined when the board is not * installed or does not declare the phase; callers must fail closed on undefined rather * than guess from the phase name. */ export declare function resolvePhaseSemantics(boards: BoardRegistry, boardId: string, phase: string): PhaseSemantics | undefined; /** * Tool-result rule the installed board declares for `toolName`. Undefined when the board is * not installed or declares no rule for the tool; callers must run nothing in that case. */ export declare function resolveBoardToolRule(boards: BoardRegistry, boardId: string, toolName: string): BoardToolResultRuleHandler | undefined; /** Semantics of the single stage a work item currently occupies; undefined for multi-stage rows. */ export declare function workItemPhaseSemantics(boards: BoardRegistry, item: Pick): PhaseSemantics | undefined; //# sourceMappingURL=semantics.d.ts.map