import type { AgentInfo, TaskAssignmentInfo, TaskAssignmentKind, TaskAssignmentStatus } from "./broker/types.js"; export type CommandResult = { stdout?: string | Buffer; }; export type CommandRunner = (file: string, args: string[], options: { cwd: string; encoding: "utf-8"; }) => Promise; export interface ParsedTaskAssignment { issueNumber: number; branch: string | null; repoOwner: string | null; repoName: string | null; taskKind: TaskAssignmentKind; } export interface PullRequestSnapshot { number: number; state: string; mergedAt: string | null; headRefName: string; } export interface IssueSnapshot { number: number; state: string; } export interface ResolvedTaskAssignment extends TaskAssignmentInfo { nextStatus: TaskAssignmentStatus; nextPrNumber: number | null; branchAheadCount: number; issueState: "OPEN" | "CLOSED" | null; } export declare function extractTaskAssignmentsFromMessage(message: string): ParsedTaskAssignment[]; export declare function normalizeTrackedTaskAssignments(assignments: TaskAssignmentInfo[], sourceMessagesById?: ReadonlyMap): TaskAssignmentInfo[]; export declare function resolveTaskAssignments(assignments: TaskAssignmentInfo[], cwd?: string, runner?: CommandRunner): Promise; export declare function hasTaskAssignmentStatusChange(assignment: ResolvedTaskAssignment): boolean; type ReportableTaskAssignment = Pick & { issueState?: ResolvedTaskAssignment["issueState"]; }; export declare function buildTaskAssignmentReport(assignments: ReportableTaskAssignment[], agentsById: ReadonlyMap>, cycleStartedAt?: string): string | null; export interface PendingTaskAssignmentReport { message: string; signature: string; } export declare function getPendingTaskAssignmentReport(assignments: ReportableTaskAssignment[], agentsById: ReadonlyMap>, lastDeliveredSignature: string, cycleStartedAt?: string): PendingTaskAssignmentReport | null; export {};