/**
 * Runtime context shared across modules.
 *
 * Holds process-wide state (quiet mode, etc.) that would otherwise
 * create circular dependencies if exported from cli.ts.
 *
 * AppContext is a singleton — use AppContext.getInstance() or
 * the module-level convenience functions isQuietMode / setQuietMode.
 */
export class AppContext {
    static instance = null;
    quietMode = false;
    constructor() { }
    static getInstance() {
        if (!AppContext.instance) {
            AppContext.instance = new AppContext();
        }
        return AppContext.instance;
    }
    /** Reset singleton for testing */
    static resetInstance() {
        AppContext.instance = null;
    }
    getQuietMode() {
        return this.quietMode;
    }
    setQuietMode(value) {
        this.quietMode = value;
    }
}
/** Get whether quiet mode is active (CLI flag or config, resolved in preAction) */
export function isQuietMode() {
    return AppContext.getInstance().getQuietMode();
}
/** Set quiet mode state. Called from CLI preAction hook. */
export function setQuietMode(value) {
    AppContext.getInstance().setQuietMode(value);
}
//# sourceMappingURL=context.js.map