/** * Wiring for {@link planTeamLeadReport} (crewly#1371): the real teams, team * channels and pool. The planning stays in `team-lead-report.ts`. * * @module services/orc/team-lead-report.wiring */ import type { Team } from '../../types/index.js'; import type { WorkItem } from '../../types/v2/work-item.types.js'; import { type LeadReport } from './team-lead-report.js'; /** Collaborators of {@link resolveLeadReport}. */ export interface LeadReportSources { /** The team → Slack channel mappings, or null when Slack team channels are not set up */ channels(): Promise | null>; /** Every team */ teams(): Promise; } /** * The real sources (lazy imports keep this module light). * * @returns Sources */ export declare function defaultLeadReportSources(): LeadReportSources; /** * Who reports a new work item to the owner, and where: the stamp to put on * it (see {@link planTeamLeadReport}). Never throws. * * @param input - The item (origin already stamped), its creator, the pool * @param sources - Teams and channels (default: the real ones) * @returns The stamp, or null */ export declare function resolveLeadReport(input: { workItem: WorkItem; creator?: string; items: readonly WorkItem[]; }, sources?: LeadReportSources): Promise; /** * The lead report of the work an agent status report is about (the item it * names, else the sender's current or just-finished item). Never throws. * * @param input - Sender and the work item the report named * @param poolItems - Pool items (default: the task pool) * @param now - Clock (epoch ms) * @returns The stamp, or null */ export declare function leadReportForStatus(input: { sender: string; workItemId?: string; }, poolItems?: () => Promise, now?: number): Promise; //# sourceMappingURL=team-lead-report.wiring.d.ts.map