/**
 * `mailpouch setup …` — write Bridge credentials non-interactively. This is the
 * agent/CI path; the browser/TUI wizard (`mailpouch-settings`) remains the
 * default for humans.
 *
 *   mailpouch setup --username you@proton.me --password-stdin
 *   mailpouch setup --username you@proton.me --password-file ./pw.txt
 *   mailpouch setup --username you@proton.me --password 'hunter2' \
 *                   [--imap-host 127.0.0.1 --imap-port 1143 --smtp-host 127.0.0.1 --smtp-port 1025] \
 *                   [--bridge-cert /path/cert.pem | --insecure] [--tls starttls|ssl]
 *
 * Writes through the SAME account registry the settings UI uses
 * (`writeRegistry`), so the password lands on the authoritative per-account
 * keychain key (`bridge-password:<id>`) and the active account's connection
 * fields are mirrored to the legacy top-level block. Updates the ACTIVE account
 * (synthesizing a "primary" Bridge account on a fresh install). Runs offline;
 * no Bridge connection is attempted.
 */
import type { AccountRegistry } from "../accounts/types.js";
import type { ServerConfig } from "../config/schema.js";
export interface SetupCliDeps {
    out?: (line: string) => void;
    err?: (line: string) => void;
    /** Read the Bridge password from stdin (for --password-stdin). Injectable for tests. */
    readStdin?: () => Promise<string>;
    readRegistry?: () => AccountRegistry;
    writeRegistry?: (reg: AccountRegistry) => Promise<void>;
    /** Read back the storage backend for the success message. */
    loadConfig?: () => ServerConfig | null;
}
export declare function runSetupCli(argv: string[], deps?: SetupCliDeps): Promise<number>;
//# sourceMappingURL=setup-cli.d.ts.map