/**
 * Session-scoped auto-approve state.
 *
 * The persisted settings layer owns only the default value for new sessions.
 * The live toggle state belongs to the session and is shared by approval UIs,
 * mode switching, and remote-control flows.
 */
export class SessionAutoApproveState {
    autoApprove;
    defaults;
    constructor(defaults) {
        this.defaults = defaults;
        this.autoApprove = defaults.getSessionAutoApproveDefault() ?? defaults.getAutoApproveDefault();
    }
    getAutoApprove() {
        return this.autoApprove;
    }
    setAutoApprove(value) {
        this.autoApprove = value;
    }
    getAutoApproveDefault() {
        return this.defaults.getSessionAutoApproveDefault() ?? this.defaults.getAutoApproveDefault();
    }
    setAutoApproveDefault(value) {
        this.defaults.setAutoApproveDefault(value);
        this.autoApprove = value;
    }
    getSessionAutoApproveDefault() {
        return this.defaults.getSessionAutoApproveDefault();
    }
}
//# sourceMappingURL=session-auto-approve.js.map