CanApplyBoostResult:
    | { can: true; replace?: Chat[]; slots: BoostSlot[] }
    | { can: false; reason: "need_premium"; slots: BoostSlot[] }
    | { can: false; reason: "no_slots"; slots: BoostSlot[] }