import type Database from 'better-sqlite3'; import type { TaskStatus } from '../models/common'; /** * Context fields that can be provided on a task move. * — blocker removed per FS-SS-030-0004 * — reviewer renamed to owner, review_notes removed per FR-URD-034-0006 */ export interface MoveContext { session_key?: string; owner?: string; } /** * Compute the timestamp updates and field values to record for a transition. * * State-specific rules: * - In Progress: record session_key if provided, auto-set started_at * - In Review: record owner if provided (tasks.owner column) * - Done: auto-set completed_at * * Note: blocker context field removed per FS-SS-030-0004 * Note: reviewer renamed to owner, review_notes removed per FR-URD-034-0006 * * Returns the partial row updates to apply to the task. */ export declare function computeStateFields(current: TaskStatus, target: TaskStatus, context?: MoveContext): { columns: string[]; values: unknown[]; }; /** * Apply state-specific field updates to a task in the database. * * @param db - Database connection (within a transaction) * @param taskId - The task to update * @param target - Target state being moved to * @param current - Current state * @param context - Optional context fields */ export declare function recordStateFields(db: Database.Database, taskId: string, target: TaskStatus, current: TaskStatus, context?: MoveContext): void; //# sourceMappingURL=state-field-recorder.d.ts.map