/**
 * `mailpouch agent <subcommand>` — provision and manage service accounts
 * (the non-interactive half of the agent-auth model) from the command line.
 *
 *   mailpouch agent issue  --name <n> --preset <preset> [--expires <iso>] [--folder a,b]
 *   mailpouch agent list
 *   mailpouch agent revoke <client_id>
 *
 * Runs as a short-lived process distinct from the MCP daemon: it edits the
 * on-disk service-account + grant stores directly. `issue`/`list` are fully
 * effective immediately; `revoke` removes the credential and marks the grant
 * revoked on disk — a *running* daemon drops the live token on its next
 * grant-store sync or restart (the in-process Settings UI revoke is immediate).
 */
import type { ServiceAccountStore } from "../agents/service-account-store.js";
import type { AgentGrantStore } from "../agents/grant-store.js";
export interface AgentCliDeps {
    serviceAccounts: ServiceAccountStore;
    agentGrants: AgentGrantStore;
    /** Where to write user-facing output. Injectable for tests. */
    out?: (line: string) => void;
    err?: (line: string) => void;
}
/**
 * Run the `agent` subcommand. `argv` is the slice AFTER "agent"
 * (e.g. ["issue", "--name", "cron"]). Returns a process exit code.
 */
export declare function runAgentCli(argv: string[], deps: AgentCliDeps): Promise<number>;
//# sourceMappingURL=agent-cli.d.ts.map