/** * #553: tool calls waiting inline on a queued approval request. * * checkApprovalEntry registers the waiter inside the per-org approvals lock, * and setApproval wakes it under the same lock, so a resolution can never * slip between "queued" and "waiting" (the call would then run and also be * told to repeat itself). A waiter ends on the verdict, on its timeout, or * when the org stops or the role's mailbox closes. */ import type { ApprovalEntry } from './approvals.js'; export interface ApprovalWaitResult { approved: boolean | null; /** The org stopped or the role closed while the call waited. */ cancelled?: boolean; } /** Registers a wait on `entry` synchronously and returns its outcome. */ export declare function registerApprovalWait(entry: ApprovalEntry, timeoutMs: number, stillLive: () => boolean): Promise; /** Wakes the calls waiting on `entry`; true when at least one was waiting. */ export declare function notifyApprovalWaiters(entry: ApprovalEntry, approved: boolean): boolean; /** Who resolved a request, from its resolvedBy. mono-agent resolves as * `rule` or `:<...>` (internal/orgdecide/service.go:341-345, * 398, 481-483; jev.go:82); anything else came from a person * (`org approve --by `, default `human`). */ export declare function resolverLabel(resolver: string | undefined): string; //# sourceMappingURL=approval-waiters.d.ts.map