import type { Store } from "../store.js"; /** Deduped todos task upserts shared by `health route-tasks` and `hygiene route-tasks`. */ export interface TaskRouteOptions { autoRoute?: boolean; routeProjectPath?: string; source: string; } export declare function taskAutoRoute(tags: string[], base: Record, opts: TaskRouteOptions): { tags: string[]; metadata: Record; autoRoute: { requested: boolean; enabled: boolean; skippedReason?: string; }; }; export interface RouteTaskSpec { title: string; description: string; priority: string; tags: string[]; fingerprint: string; /** Base metadata handed to taskAutoRoute (before route flags are merged in). */ metadata: Record; /** Extra fields copied onto every action record for this task (e.g. hygiene `check`). */ extra?: Record; } export interface UpsertRouteTasksOptions { project: string; taskList: { slug: string; name: string; description: string; }; cursorKey: string; maxActions: number; dryRun?: boolean; autoRoute?: boolean; routeProjectPath?: string; source: string; evidence: { kind: string; dir?: string; }; /** Command-specific summary fields merged into the output before routing/actions. */ summary: Record; tasks: RouteTaskSpec[]; } export interface UpsertRouteTasksResult { ok: boolean; output: Record; evidencePath?: string; } export declare function upsertRouteTasks(opts: UpsertRouteTasksOptions): UpsertRouteTasksResult; export type HygieneCheckKind = "names" | "duplicates" | "scripts"; export interface HygieneRouteTask { check: HygieneCheckKind; title: string; description: string; priority: "critical" | "high" | "medium" | "low"; tags: string[]; fingerprint: string; metadata: Record; } export declare function parseHygieneChecks(value: string | undefined): HygieneCheckKind[]; export declare function buildHygieneRouteTasks(store: Store, opts: { checks: HygieneCheckKind[]; includeInactive?: boolean; limit?: number; scriptsDir?: string; }): { checked: Record; findings: number; tasks: HygieneRouteTask[]; };