import type { AutoPmOutcome, AutoPmReport } from '../auto-pm.js';
import type { QuotaView } from '../dashboard/quota.js';
/** Where the account's quota stands against its boundary. */
export declare function onQuota(): Promise<QuotaView>;
/**
 * What auto PM last decided (#1161), for the line under the panel's toggle. It sits beside
 * `onQuota` because it is the same panel and the same gate: auto PM spends against exactly the
 * boundary drawn above it.
 *
 * `undefined` on a host with no sweep (the relay), which the panel reads as "nothing to say"
 * rather than as an idle sweep — the distinction this whole read exists to make.
 */
export declare function onAutoPm(): Promise<AutoPmReport | undefined>;
/**
 * Sweep now rather than at the next interval (#1210). The loop already had this — it is what a
 * write that switches the preference on triggers (#1167) — but until now nothing could ask for
 * it directly, so the only way to fast-forward was to tick the box off and on again.
 *
 * The `autoPm` preference does not gate it: that preference is consent to spend quota *unasked*,
 * and this call is asking. So with auto-run off the daemon still sweeps once — every other
 * stand-down reason in force — and the schedule stays wherever the box says.
 *
 * Awaits the sweep and returns what it decided, one line per project (#1433): the click used to
 * be fire-and-forget, so two presses could show literally nothing — no loading state, no
 * outcome, and the stand-down reason recoverable only from the source. The outcomes are read
 * off the loop's own report once the tick resolves, so the card can say them without a poll
 * having to race the sweep. `false` still means a host with no loop (the relay), which the
 * button reads as "nothing here to trigger".
 *
 * `drainOnly` narrows the sweep to working the queue (#1204): the drain routine's Run now spins
 * agents up on the queue's entries — the fan-out only the sweep can do — and an empty queue is
 * reported rather than borrowed for a rotation job.
 */
export declare function sendAutoPmSweep(opts?: {
    drainOnly?: boolean;
}): Promise<{
    ok: boolean;
    outcomes?: AutoPmOutcome[];
}>;
//# sourceMappingURL=quota.telefunc.d.ts.map